devenv.com/exe的退出代码是什么?



任何命令行应用程序返回代码作为退出代码,将指令的最终状态通知主机环境。vs命令行:devenv.com返回代码。尽管没有(或者我找不到任何)此类列表或有关此的列表。有文件吗?如果不是,则来自VS团队的任何人都可以在此处记录这一点?

%errorlevel%(cmd.exe)或 $LASTEXITCODE(powerShell)将设置为0成功,任何其他值都表明msbuild.exedevenv.exe的失败。

在Visual Studio 2019 build 16.11.2中,我发现使用 devenv.exe 始终将ErrorLevel设置为0,而使用> >devenv.com 如果构建失败,则将errorlevel设置为正数,或者如果成功为0。 devenv.com 还等待构建完成,然后再将控件返回到外壳。 devenv.com devenv.exe 支持/OUT 参数,用于明确指定日志文件。此外, devenv.com 生成控制台输出,可以将其重定向到 nul (如果不需要)。

因此,通过Windows批处理文件运行构建,您可以运行 devenv.com ,然后立即检查失败:

"C:pathtodevenv.com" "my-solution.sln" /Rebuild "Release|x64" /Out "my-solution-build.log" > nul
if ERRORLEVEL 1 echo Error %ERRORLEVEL% building my-solution.sln & goto my-failed-build-label
echo Build succeeded
. . .

在上面的示例中,如果 errorLevel 设置为1 或更高>。。。

每个项目中的后构建事件可能会遇到错误条件并设置错误级别,例如:

rem This is in a post-build event for a project
if not exist "path-to-expected-build-output.exe" exit /b 3

devenv.com 退出时,这些后构建错误可能会被吞噬并转换为错误级别,例如1。

最新更新