Visual Studio -使用exe构建后出现错误

本文关键字:错误 构建 exe Studio 使用 Visual | 更新日期: 2023-09-27 17:51:09

如果我想在Visual Studio 2012中运行c#项目的构建后事件中运行一个简单的程序,Visual Studio会出现错误"Exit from Command C:'test.exe with code -532462766"。

程序"test.exe"很简单:

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

但是,如果我删除'ReadKey()',它运行没有错误。有人能告诉我怎么了吗?

Visual Studio -使用exe构建后出现错误

退出代码是0xe0434352,"CCR"异常是触发。net程序中托管异常处理的非托管异常。你的代码中没有try/catch,也没有AppDomain.CurrentDomain.UnhandledException的事件处理程序,所以你除了"it crash"退出代码之外什么也看不见。

对于在预/后构建事件中运行的代码来说,这是正常的。这样的代码在一个沙箱中运行,试图挫败你正在尝试做的事情,任何可能导致构建停滞的"按Enter继续"风格的交互。非常重要的一点是,没有人愿意在构建服务器上花费30个小时进行构建,却在这样的事情上陷入停顿。你可以捕获异常,你会得到InvalidOperationException:

当应用程序没有控制台或控制台输入已从文件重定向时,

无法读取键。试着控制台。读

这是好的建议,你的程序将不再崩溃。但是也不会停止,Console.Read/Line()当然也被打败了。这个功能非常可靠。我只需要这样做一次,我想到的唯一方法是Thread.Sleep()。

身在罗马,要像个罗马人。将输出重定向或写入文件,以便在构建完成后稍后读取。