我正在尝试通过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
如果解决方案已编译且是最新的,则会返回错误并终止执行。执行直接移动到 :fail 块,而无需执行更多行。仅当解决方案是最新的,但过时的解决方案工作正常时,才会发生这种情况。
我也尝试了否定:
@if not %BUILD_STATUS%==0 goto fail
请帮忙。
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