我在 TFS 工作流模板中定义了一个 MSBuild 活动,但目前我必须将“属性”命令行参数直接硬编码到模板中。
我希望能够通过高级设置“MSBuild Arguments”在构建定义中指定参数
我可以看到我可能必须使用字符串替换/连接来构建命令行,如此处所述,但我看不到我需要输入的内容,可能是这样的:
这是默认 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
变量被定义为类型为 Build Process Template 级别的 Property Boolean
。