【问题标题】:Capture the exit-code from a console-app从控制台应用程序捕获退出代码
【发布时间】:2016-12-08 06:39:26
【问题描述】:

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>

【问题讨论】:

    标签: visual-build-professional


    【解决方案1】:

    你可以做一个“运行程序”

    在“命令”中输入你的 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:如果勾选了Wait选项,进程的退出码会保存在这个宏中。 RUNPROGRAM_PROCESSID:如果未选中Wait选项,则启动进程的进程ID将存储在此宏中。

    【讨论】:

      猜你喜欢
      • 2016-08-29
      • 2010-09-16
      • 2010-10-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多