我有一个包含多个项目的解决方案。其中一个项目只有在两个事件都以错误代码0退出时才需要构建。
所以我想可以这样做:
"C:\Path\To\Binary1.exe" & "C:\path\to\binary2.exe"
但在我的测试场景中,Binary1.exe 以非零值退出,但 Visual Studio 仍然继续构建该项目。当我在 cmd 中运行 pre-build 事件命令行并回显 %errorlevel% 时,我看到退出代码为非零。
如果我只在 pre-build 事件中放置 "C:\Path\To\Binary1.exe",则构建将停止,并且在 Visual Studio 的“错误列表”窗口中显示错误。
我确信 Binary1.exe 以非零值退出,因为它在退出之前还显示了一个消息框。
我可以想到一种解决方案:Binary1.exe 调用 Binary2.exe 并在 Binary2.exe 以非零退出代码退出时以非零退出代码退出。但这不是一个真正灵活的解决方案。
总结一下:如何运行多个 pre-build 事件并在其中一个命令返回非零值时停止构建?
所以我想可以这样做:
"C:\Path\To\Binary1.exe" & "C:\path\to\binary2.exe"
但在我的测试场景中,Binary1.exe 以非零值退出,但 Visual Studio 仍然继续构建该项目。当我在 cmd 中运行 pre-build 事件命令行并回显 %errorlevel% 时,我看到退出代码为非零。
如果我只在 pre-build 事件中放置 "C:\Path\To\Binary1.exe",则构建将停止,并且在 Visual Studio 的“错误列表”窗口中显示错误。
我确信 Binary1.exe 以非零值退出,因为它在退出之前还显示了一个消息框。
我可以想到一种解决方案:Binary1.exe 调用 Binary2.exe 并在 Binary2.exe 以非零退出代码退出时以非零退出代码退出。但这不是一个真正灵活的解决方案。
总结一下:如何运行多个 pre-build 事件并在其中一个命令返回非零值时停止构建?
if %errorlevel% == 0 ( Do something)
。 - RBT