Visual Studio中的详细构建事件错误处理

时间:2016-05-16 19:48:28

标签: c# .net visual-studio command-line

我创建了一个可执行文件,它在构建后对程序集执行操作。

我希望每次构建程序集时都运行此可执行文件,以便立即可以使用它。为此,我在Visual Studio中打开程序集的Properties(右键单击项目,选择Properties),转到Build Events选项卡,然后在其中输入以下内容说Post-build event command line

C:\MyExePath\MyAssemblyManager.exe C:\MyProjectPath\obj\Release\MyProject.dll

每件事都应该如此运作。每次构建项目时,可执行文件都会运行,组件就可以运行了。

但这是我的问题:说我的可执行文件中有一些错误处理:

static void Main(string[] args)
{
    try
    {
        string assemblyPath = args[0];
        if (!System.IO.File.Exists(assemblyPath))
        {
            throw new System.IO.FileNotFoundException(String.Format("Path {0} is invalid.", assemblyPath);
        }
        // ...
    }
    catch (Exception e)
    {
        Console.WriteLine("Error: " + e.Message);
        Environment.Exit(9000);
    }
}

如果可执行文件中出现此错误,则Visual Studio中的Error List选项卡中将显示以下内容:

The command C:\MyExePath\MyAssemblyManager.exe C:\MyAssemblyPath\MyAssembly.dll exited with error code 9000.

是否有办法通过可执行文件中的字符串传递错误消息,该错误消息可以显示在Visual Studio错误列表中而不是通用错误代码消息中?

1 个答案:

答案 0 :(得分:-1)

我认为修改VS内部错误消息很难 尝试将错误消息输出到外部文件可以帮助调试 将构建后事件更改为:

C:\MyExePath\MyAssemblyManager.exe C:\MyProjectPath\obj\Release\MyProject.dll >D:\build.txt

请注意> D:\ build.txt 会将错误消息输出到文件build.txt