繁体   English   中英

从控制台应用程序捕获退出代码

[英]Capture the exit-code from a console-app

Visual Build Professional(Pro,vbp)具有“成功退出代码”,在其中可以输入白名单值...(当我定义对外部.exe的调用时)

创建对外部.exe的调用时,如何捕获返回码/退出码并将其放入宏中?

基本上,我试图在Visual Build Pro中进行以下msbuild的操作。

即,将“ ExitCode”的值捕获到属性(称为vbp语言的宏)...称为MyExitErrorCode

<Target Name="ExecuteSomeEXETarget">
<Exec Command='"C:\Some.exe"' ContinueOnError='true'>
              <Output TaskParameter="ExitCode" PropertyName="MyExitErrorCode"/>
  </Exec>
  <Message Text="The exit code is $(MyExitErrorCode)"/>
  <Error Text="Error while executing Some EXE" Condition="'$(MyExitErrorCode)' > '0'" />

</Target>

您可以执行“运行程序”

在“命令”中,将路径输入到您的exe。

在“更多”标签上,选择“继续构建”单选按钮。

..

然后,您可以捕获宏%RUNPROGRAM_EXITCODE%

..

例如,在“运行程序”(步骤)之后,创建“日志消息”(步骤),并将其放入

Hello '%RUNPROGRAM_EXITCODE%' !

.......

不确定为什么宏不会出现在全局宏列表中。

现在我知道了魔术宏的名称,可以找到文档

http://www.kinook.com/VisBuildPro/Manual/index.htm?visualbuild5_x.htm

•“运行程序”操作的生成状态将始终是BuildStatusEnum中的值,而不是进程的退出代码。 退出代码在RUNPROGRAM_EXITCODE临时宏中可用。

http://www.kinook.com/VisBuildPro/Manual/index.htm?runprogramaction.htm

“运行程序”操作创建一个步骤以启动任何外部应用程序,程序,批处理文件或命令脚本。 Visual Build将启动并监视应用程序,捕获所有输出,并将其记录到“输出”窗格(以及日志文件(如果启用)中),并在构建停止时终止应用程序。

步骤完成后,将创建或更新以下临时宏:RUNPROGRAM_EXITCODE:如果选中了“等待”选项,则进程的退出代码将存储在此宏中。 RUNPROGRAM_PROCESSID:如果未选中“等待”选项,则已启动进程的进程ID将存储在此宏中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM