jas*_*ard 6 msbuild exec exit-code
我有以下exec任务,执行assemblyinfo.cs文件的签入.我正在尝试返回退出代码,但由于某种原因它总是空的.
<!--Checkin if all succeeded-->
<Exec Condition=" '$(LocalCompilationSuccess)' != 'Failed' and '$(LocalTestSuccess)' != 'Failed' " ContinueOnError="True"
Command='"$(TfCommand)" checkin /recursive /comment:"$(NoCICheckInComment) $(BuildDefinitionName): build succeeded, checkin changes." /override:"TeamBuild $(BuildDefinitionName)" $/SomeProject/Trnk' WorkingDirectory="$(SolutionRoot)" >
<Output TaskParameter="ExitCode" PropertyName="ErrorCode"/>
</Exec>
Run Code Online (Sandbox Code Playgroud)
我试图以两种方式阅读退出代码:
'%(ErrorCode.Identity)'
'$(ErrorCode)'
Run Code Online (Sandbox Code Playgroud)
两者都是空的.有什么建议?
Chr*_*n.K 14
一般来说,它的工作方式如您所示.
作为参考,这是一个更"自包含"的例子:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<Target Name="help">
<Exec ContinueOnError="True" Command='cmd.exe /c dir'>
<Output TaskParameter="ExitCode" PropertyName="ErrorCode"/>
</Exec>
<Message Importance="high" Text="$(ErrorCode)"/>
</Target>
</Project>
Run Code Online (Sandbox Code Playgroud)
但是,您可能需要考虑以下几点:
确保你的Exec偶数执行,即Condition评估结果
True.
ErrorCode使用Message-Task 输出属性,以查看它是否实际设置(到您期望的值).但是,请确保MSBuild将显示输出,方法是使用Importance='high'或运行msbuild.exe /v:d以启用详细消息.
| 归档时间: |
|
| 查看次数: |
12576 次 |
| 最近记录: |