簡體   English   中英

Visual Studio-使用exe進行后期制作時出錯

[英]Visual Studio - Error in post-build with exe

如果我想在Visual Studio 2012中C#項目的生成后事件中運行一個簡單程序,Visual Studio將失敗,並顯示錯誤“從命令c:\\ test.exe退出,代碼為-532462766”。

程序“ test.exe”很簡單:

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("ciao");
        Console.ReadKey();
    }
}

但是,如果我刪除了'ReadKey()',它會正常運行。 有人可以解釋我怎么了嗎?

退出代碼為0xe0434352,這是“ CCR”異常,它是觸發.NET程序中托管異常處理的非托管異常。 您的代碼中沒有try / catch,也沒有AppDomain.CurrentDomain.UnhandledException的事件處理程序,因此除了“崩潰”退出代碼外,您沒有其他需要看的東西。

否則,這對於在構建前/構建后事件中運行的代碼是正常的。 這樣的代碼在沙盒中運行,該沙盒試圖擊敗您要嘗試做的事情,而這一切都會導致構建因“按Enter繼續”樣式的交互而停滯。 非常重要的是,沒有人喜歡在構建服務器上進行30小時的構建以阻止這種情況。 您可以捕獲異常,您將獲得InvalidOperationException:

當任一應用程序沒有控制台或控制台輸入已從文件重定向時,無法讀取鍵。 嘗試Console.Read

可以的建議是,您的程序將不再崩潰。 但是也不會停止,Console.Read / Line()當然也被擊敗了。 此功能非常可靠。 我只需要這樣做一次,而我想到的唯一方法是Thread.Sleep()。

當您在羅馬時,要表現得像羅馬人。 將輸出重定向或寫入文件,以便在構建完成后可以稍后讀取。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM