2016-08-02 139 views
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> 

回答

0

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

在“命令“把你的exe的路径。

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

..

然后,你可以捕捉到宏%RUNPROGRAM_EXITCODE%

..

例如,在你的 “运行程序”(步),创建一个 “日志消息”(步骤),并把这个

Hello '%RUNPROGRAM_EXITCODE%' ! 

.......

不知道为什么日e宏不显示在全局宏列表中。

现在我知道魔术宏的名称,该文件可以发现

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:如果未选中Wait选项,则启动的进程的进程ID将存储在此宏中。

相关问题