通过visual studio命令提示符构建解决方案时%ERRORLEVEL%失败

时间:2014-12-12 05:50:55

标签: visual-studio-2012 msbuild

我试图通过visual studio命令提示符构建解决方案。我正在使用VS 2012.我已经编写了一个脚本,我通过VS命令提示符使用它。脚本内容是:

set BUILD_STATUS=%ERRORLEVEL%

msbuild C:\MyProj.vcxproj /p:Configuration=Debug /p:platform=x64 /verbosity:minimal

@if %BUILD_STATUS%==1 goto fail

:fail

exit /B 1

如果解决方案已经编译并且是最新的,则返回错误并终止执行。执行转移到:直接失败阻止而不执行更多行。只有当解决方案是最新的时才会发生这种情况,但过时的解决方案可以正常工作。

我也尝试了否定:

@if not %BUILD_STATUS%==0 goto fail

请帮忙。

1 个答案:

答案 0 :(得分:2)

ERRORLEVEL不是环境变量,因为您正在尝试捕获它。将您的批次重写为:

msbuild C:\MyProj.vcxproj /p:Configuration=Debug /p:platform=x64 /verbosity:minimal

@if ERRORLEVEL 1 goto fail

rem If no error, success
goto success

:fail
exit /B 1

:success
exit /B 0