Visual studio Visual Studio预构建事件;检查每个事件的退出代码
我有一个多项目的解决方案。仅当预生成事件中的两个事件都退出且错误代码为0时,才需要生成一个项目 所以我想我可以做到以下几点: “C:\Path\To\Binary1.exe”和“C:\Path\To\binary2.exe” 在我的测试场景中,出现了一些错误,因此Binary1.exe以非零值退出。但VisualStudio仍在继续构建该项目。 在cmd和echo%errorlevel%中运行预构建事件命令行时,我看到退出代码为非零 当我只把 “C:\Path\To\Binary1.exe” 在预生成事件中,生成将停止,并且在Visual Studio的Visual studio Visual Studio预构建事件;检查每个事件的退出代码,visual-studio,events,exit-code,pre-build-event,Visual Studio,Events,Exit Code,Pre Build Event,我有一个多项目的解决方案。仅当预生成事件中的两个事件都退出且错误代码为0时,才需要生成一个项目 所以我想我可以做到以下几点: “C:\Path\To\Binary1.exe”和“C:\Path\To\binary2.exe” 在我的测试场景中,出现了一些错误,因此Binary1.exe以非零值退出。但VisualStudio仍在继续构建该项目。 在cmd和echo%errorlevel%中运行预构建事件命令行时,我看到退出代码为非零 当我只把 “C:\Path\To\Binary1.exe” 在
错误列表中显示en error
我肯定Binary1.exe是以非零值退出的,因为它在退出之前也会显示一个messagebox
我能想出一个解决办法。Binary1.exe调用Binary2.exe并在Binary2.exe以非零退出代码退出时以非零退出代码退出。但这并不是一个真正灵活的解决方案
总结如下:
当其中一个命令返回非零值时,如何运行多个预生成事件并停止生成?如果两个项目位于同一解决方案中,则可以在Visual studio中设置依赖项。
右键单击解决方案资源管理器中的解决方案,然后选择“项目依赖项”
将“最后一个”项目设置为取决于前两个项目。在这种情况下,VisualStudio将按正确的顺序生成,如果其中一个依赖项无法生成,则将停止生成。
(Visual Studio 2013)我认为您可以做到以下几点:
run command 1
if ERRORLEVEL 1 (
exit /b 1
)
run command 2
这与项目依赖性无关。它是关于预构建事件的,当预构建事件中调用的任何一个可执行文件失败时,预构建事件都会失败。我的问题更多的是关于预构建事件语法(或者一般的cmd语法?),或者,如果%errorlevel%==0(做点什么)
,您可以像这样检查命令shell环境变量。