Visual Studio预构建事件;检查每个事件的退出代码

时间:2013-04-18 08:30:32

标签: visual-studio events exit-code pre-build-event

我有一个包含多个项目的解决方案。如果两个事件在预构建事件中以错误代码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并以非零退出代码退出。但这并不是一个灵活的解决方案。

总结一下: 如何在其中一个命令返回非零值时运行多个预构建事件并停止建立?

2 个答案:

答案 0 :(得分:4)

我认为你可以这样做:

run command 1
if ERRORLEVEL 1 (
    exit /b 1
    )
run command 2

答案 1 :(得分:2)

如果两个项目在同一个解决方案中,您可以在Visual Studio中设置依赖项。 右键单击解决方案资源管理器中的解决方案,然后选择“项目依赖项”。

将'last'项目设置为取决于前两个项目。在这种情况下,Visual Studio将以正确的顺序构建,如果其中一个依赖项无法构建,它将停止构建。 (Visual Studio 2013)