%ERRORLEVEL% 在通过 Visual Studio 命令提示符生成解决方案时失败



我正在尝试通过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

最新更新