Visual studio 生成后应忽略子任务的退出代码

Visual studio 生成后应忽略子任务的退出代码,visual-studio,visual-studio-2019,exit-code,post-build,Visual Studio,Visual Studio 2019,Exit Code,Post Build,我有一个Visual Studio 2019项目,其中包含一个生成后事件,即调用我用C#编写的EXE文件 生成后事件: MyTool.exe“$(TargetPath)” 此EXE文件正在执行某些操作,然后调用另一个EXE文件。 AnotherTool.exe SomeArguments 问题是,如果第二个EXE文件(AnotherTool.EXE)给出错误(在标准错误输出上)或退出代码!=0时,Visual Studio正在“查看”该代码,尽管另一个tool.exe不是直接从生成后事件调用的。

我有一个Visual Studio 2019项目,其中包含一个生成后事件,即调用我用C#编写的EXE文件

生成后事件:
MyTool.exe“$(TargetPath)”

此EXE文件正在执行某些操作,然后调用另一个EXE文件。
AnotherTool.exe SomeArguments

问题是,如果第二个EXE文件(AnotherTool.EXE)给出错误(在标准错误输出上)或退出代码!=0时,Visual Studio正在“查看”该代码,尽管另一个tool.exe不是直接从生成后事件调用的。后期生成只调用了MyTool.exe

我希望MyTool.exe处理退出代码,因此Visual Studio应该忽略它们。但当另一个tool.exe退出并出现错误时,生成失败

有什么想法吗

编辑:“MyTool.exe”正在使用System.Diagnostics.Process调用“AnotherTool.exe”。我设置RedirectStandardOutput=true和RedirectStandardError=true,然后使用Start()和WaitForExit()调用该进程


但无论该过程的结果如何,MyTool.exe始终会随环境一起退出。退出(0)将给出一个干净的退出。

不是答案,而是一个可行的解决方案:

我创建了一个批处理文件,该文件调用:

启动MyTool.exe%1

有了这个变通方法,构建成功而没有错误,并且工具链正确启动。我不再在VisualStudio中显示错误消息

权衡1:“MyTool.exe”现在在运行时显示在命令窗口中

权衡2:如果“MyTool.exe”失败并返回退出代码!=0,Visual Studio不会注意到

如果我从批处理中删除“start”,行为就像直接调用MyTool.exe