在tfs 2015 Web构建定义中传递自定义ms构建属性

时间:2016-02-11 13:08:28

标签: tfs msbuild tfsbuild

我在tfs2015中使用Web构建定义(即不是xaml构建定义)设置了自动构建,我希望将自定义属性传递给msbuild命令。

我已尝试在定义中设置变量,但这不会在构建过程中使用。

我需要传递的msbuild命令参数是/ p:myProperty =“bob”

构建定义包含变量:

build variables

但是当我构建时,我得到了msbuild命令:

C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe "C:\Build\Agent\_work\5ad80936\FullSolution.sln" /nologo /m /nr:false /fl /flp:"logfile=C:\Build\Agent\_work\5ad80936\FullSolution.sln.log" /dl:CentralLogger,"C:\Build\Agent\agent\worker\Microsoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll"*ForwardingLogger,"C:\Build\Agent\agent\worker\Microsoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll"  /p:platform="any cpu" /p:configuration="release"

所以BuildConfiguration和BuildPlatform变量以我希望使用myProperty的方式使用,但忽略了这个变量。

我尝试使用'Build'为变量名添加前缀,但这并没有区别。

有人可以帮忙吗?

顺便说一下,如果在本地运行msbuild命令并附加所需的参数,那么构建就完全符合我的要求。

1 个答案:

答案 0 :(得分:2)

我找到了答案,变量就是变量。要将这些变量用作msbuild命令行参数,需要设置构建定义的另一部分:

在构建选项卡上,设置MSBuild Arguments参数以使用您创建的变量:

enter image description here

$()中的部分是TFS构建定义中使用的变量名,=之前的部分是msbuild脚本中属性的名称。这些不一定需要相同