0

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>
4

1 回答 1

0

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

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

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

..

然后你可以捕获宏 %RUNPROGRAM_EXITCODE%

..

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

Hello '%RUNPROGRAM_EXITCODE%' !

…………

不知道为什么宏没有出现在全局宏列表中。

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

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

• Run Program 操作的构建状态将始终是来自 BuildStatusEnum 的值,而不是进程的退出代码。退出代码在 RUNPROGRAM_EXITCODE 临时宏中可用。

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

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

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

于 2016-08-02T20:08:11.320 回答