如何将TFS变量传递给项目的MSBuild任务

时间:2012-01-27 07:47:45

标签: tfs msbuild tfs2010 msbuild-task

我有一个基于TFS服务器的解决方案。此解决方案包括几个具有自定义MSBuild任务的项目。这些任务实际上创建了一些zip存档。

我需要以某种方式从TFS构建中提取$(Rev)宏并将其传递给任务。我尝试在构建定义的进程选项卡中使用MSBuildArguments,当我设置一个简单的字符串值时它可以工作:

/ p:版本=“5”

但它不适用于宏:

/ P:版本= “$(启:r)的”

enter image description here

你有什么想法吗?

编辑:我实际上需要BuildDetail.BuildNumber。

1 个答案:

答案 0 :(得分:14)

您可以稍微更改构建过程模板以实现此目的。
默认情况下,与MSBuild相关的部分如下所示:
enter image description here
这可以扩展为某些内容像这样:
enter image description here

如果你现在输入你的构建定义的“MSBuild Arguments”(类似于你的图片),比如/p:Version=RePlAcE,你应该得到你需要什么。

在另一个你不需要它的构建定义中,只需将条目留空即可。此方法是找到here的方法的替代方法,如果所有构建定义都没有明确要求使用此版本插入,则应选择此方法。