我有一个包含多个项目的解决方案。如果两个事件在预构建事件中以错误代码0退出,则只需构建一个项目。
所以我认为我可以做到以下几点:
“C:\ Path \ To \ Binary1.exe”& “C:\路径\到\ binary2.exe”
在我的测试场景中出现问题,因此Binary1.exe以非零值退出。但无论如何,visual studio继续构建项目。 当我在cmd和echo%errorlevel%中运行预构建事件命令行时,我看到退出代码为非零。
当我只提出
“C:\路径\至\ Binary1.exe”
在预构建事件中,构建停止并且错误显示在Visual Studio的Error List
窗口中。
我绝对相信Binary1.exe正以非零值退出,因为它在退出之前也会显示一个消息框。
我能想到一个解决方案。当Binary2.exe以非零退出代码退出时,Binary1.exe调用Binary2.exe并以非零退出代码退出。但这并不是一个灵活的解决方案。
总结一下: 如何在其中一个命令返回非零值时运行多个预构建事件并停止建立?
答案 0 :(得分:4)
我认为你可以这样做:
run command 1
if ERRORLEVEL 1 (
exit /b 1
)
run command 2
答案 1 :(得分:2)
如果两个项目在同一个解决方案中,您可以在Visual Studio中设置依赖项。 右键单击解决方案资源管理器中的解决方案,然后选择“项目依赖项”。
将'last'项目设置为取决于前两个项目。在这种情况下,Visual Studio将以正确的顺序构建,如果其中一个依赖项无法构建,它将停止构建。 (Visual Studio 2013)