2013-02-26 59 views
6

我有一个在我的TFS 2012实例中设置的构建定义。在这个构建定义中,我想传入一个自定义参数并访问我的.csproj文件中的所述参数。例如:从TFS构建定义传递属性值到proj文件

MSBuild Arguments: /p:MyFoo=1 

在我的.csproj文件,我想这样做:

<ItemGroup Condition=" '$(MyFoo)' == '1' "> 

这是可能的,还是我要对这个错误?

回答

10

这是可能的,这很容易做到。编辑你的构建定义,在流程标签下展开“高级”部分,你会看到一个名为“MSbuild Arguments”的属性,以问题的格式添加参数。例如/p:MyFoo=1

例如

adding msbuild arguments to TFS build definition

您还可以输入参数,当你排队构建

enter image description here

+0

我不知道这完全回答我的问题。你是说我应该可以在我的proj文件中引用$(MyFoo)? – Matt 2013-02-26 19:20:59

+0

@Matt是的,这会将参数传递给MSbuild,$(MyFoo)将可用于构建中的所有解决方案/项目。 – 2013-02-27 10:08:21

+1

您可以在您的构建过程模板中查看msbuild活动,它将调用msbuild来编译您的解决方案/项目 - MSBuild参数除了已经定义的一些外,还会传递。如果你的值是非常静态的,你可以在这里添加它,这样你就不需要为每个构建定义定义它。 Upvoted – drk 2013-02-27 10:59:06

相关问题