【问题标题】:How to pass TFS variable to a MSBuild task of the project [duplicate]如何将 TFS 变量传递给项目的 MSBuild 任务[重复]
【发布时间】:2012-02-20 06:24:41
【问题描述】:

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

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

/p:Version="5"

但它不适用于宏:

/p:Version="$(Rev:r)"

你有什么想法吗?

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

【问题讨论】:

  • 请问是什么让你认为这些是宏?
  • 嗯,我只是觉得它叫宏。检查内部版本号格式 - 它是使用这些宏构建的。我错了吗?我是 TFS 的新手。
  • 是的,它们并不通用。内部版本号格式是特定于内部版本号的。
  • 实际上我只需要在存档名称中添加一些当前构建的唯一编号。你有什么建议吗?

标签: tfs msbuild msbuild-task


【解决方案1】:

您可以稍微更改构建过程模板来实现这一点。
默认情况下,与 MSBuild 相关的部分如下所示:

这可以扩展为如下内容:


如果您现在在构建定义的“MSBuild Arguments”中输入类似/p:Version=RePlAcE 的内容(类似于您的图片),您应该会得到所需的内容。

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

【讨论】:

  • 好的,谢谢。我已经做了完全一样的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-19
  • 1970-01-01
相关资源
最近更新 更多