我在TFS工作流模板中定义了一个MSBuild活动,但是目前我必须将'property'命令行参数直接硬编码到模板中。
我希望能够通过高级设置'MSBuild Arguments'
在构建定义中指定参数我可以看到我可能必须使用字符串replace / concat来构建命令行,如上所述here,但是我看不出我需要放什么,可能是这样的:
答案 0 :(得分:3)
这是默认的MsBuild任务使用的:
String.Format(“/ p:SkipInvalidConfigurations = true {0}”,MSBuildArguments)
您可以通过多个步骤更改构建过程模板中的MSBuildArguments
变量。例如,我向流程模板添加了一个Run Architecture Validation属性,然后编辑了工作流,只需将/ValidateArchitecture=true
附加到MSBuildArguments
,然后再将它们传递给MsBuild活动。
<If Condition="[PerformArchitectureValidation]" DisplayName="Configure Architecture Validation MSBuild Arguments">
<If.Then>
<Assign>
<Assign.To>
<OutArgument x:TypeArguments="x:String">[MSBuildArguments]</OutArgument>
</Assign.To>
<Assign.Value>
<InArgument x:TypeArguments="x:String">[MSBuildArguments + " /p:ValidateArchitecture=true"]</InArgument>
</Assign.Value>
</Assign>
</If.Then>
</If>
PerformArchitectureValidation
变量在类型Boolean
的构建过程模板级别定义为属性。
更新:Wrote a blogpost that explains this with steps and screenshots