2013-02-13 36 views
1

我已经在TFS工作流模板中定义了一个MSBuild活动,但目前我必须直接将“属性”命令行参数硬编码到模板中。如何将MSBuild参数从构建定义传递到MSBuild工作流活动

我希望能够指定在构建定义的参数,通过高级设置“的MSBuild参数”

我可以看到,我可能要建立与字符串命令行替换/ CONCAT,如前所述here,但我看不出什么,我需要把,也许是这样的:

"/P:MyProperty=" + BuildDetail.Properteis("MyProperty")

回答

3

这是默认的MSBuild任务使用:

的String.Format( “/ P:SkipInvalidConfigurations =真{0}”,MSBuildArguments)

可以更改在多个步骤构建过程模板MSBuildArguments变量。例如,我向流程模板添加了“运行体系结构验证”属性,然后编辑工作流程,以便在将它们传递给MsBuild活动之前,简单地将/ValidateArchitecture=true附加到MSBuildArguments

<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

+0

是如何定义PerformArchitectureValidation设置及?干杯。 – 2013-02-13 11:44:13

+1

好吧,我想明白了,我们可以将自定义参数添加到构建定义中出现的构建模板,这是我已经走过的方法,非常感谢。 – 2013-02-13 12:03:56

相关问题