【问题标题】:TFS and MSBuild: how to get latest changeset versionTFS 和 MSBuild:如何获取最新的变更集版本
【发布时间】:2011-03-21 20:23:09
【问题描述】:

我正在尝试在 TFS MSBuild 中获取最新的变更集版本。我尝试了许多解决方案,并引用了TFS and msbuild version number with last changeset,但没有得到想要的结果。还有其他想法吗?

  1. 一些博客条目/示例建议使用“tf changeset /latest /i msbuild”,但是我找不到有关如何将所需值放入 M​​SBuild xml 文件中的属性的文档。

    李>
  2. 其他示例建议使用 msbuild 扩展包,但文档不完整,并且下面的“变更集”属性似乎为空。

参考:http://social.msdn.microsoft.com/Forums/en/msbuild/thread/3fd46d76-2544-4818-b504-0fa2fc1e5c6a

    <MSBuild.ExtensionPack.Tfs.TeamBuild TaskAction="RelatedChangesets" TeamFoundationServerUrl="$(TeamFoundationServerUrl)" TeamProject="$(TeamProject)" BuildUri="$(BuildUri)" BuildDefinitionName="$(BuildDefinitionName)">

   <Output ItemName="changesets" TaskParameter="RelatedItems"/>
  </MSBuild.ExtensionPack.Tfs.TeamBuild>
  <Message Text="ID = %(Changesets.Identity), Checked In By = %(Changesets.CheckedInBy), URI = %(Changesets.ChangesetUri), Comment = %(Changesets.Comment)"/>

这会产生: 任务“消息”“ID = , 签入人 = , URI = , 评论 = ”

也有人建议我在上面的团队构建任务之后使用以下内容,但由于“变更集”属性为空,我得到一个错误:

参考:http://social.msdn.microsoft.com/Forums/en/msbuild/thread/9ac51ffe-137f-4d55-87e1-6fbbc401aab1

    <!-- Get the last item -->
  <MSBuild.ExtensionPack.Framework.MsBuildHelper TaskAction="GetLastItem" InputItems1="@(changesets)">
   <Output TaskParameter="OutputItems" ItemName="LastItem"/>
  </MSBuild.ExtensionPack.Framework.MsBuildHelper>
  <Message Text="Last Item: %(LastItem.Identity)"/>

编辑:更正代码并添加参考链接

【问题讨论】:

  • 我无法显示代码,我会在这里尝试。 1:
  • (对不起,糟糕的格式。2:
  • 您想帮助支持 Stack Exchange 上的 Visual Studio ALM 社区吗? bit.ly/caQ9ds

标签: tfs msbuild


【解决方案1】:

如果您使用的是 Team Build 2010,则可以使用 BuildDetail.SourceGetVersion。这只是为您提供变更集编号。

【讨论】:

  • 谢谢,是的,我们希望尽快升级到 2010,但目前当然不能这样做。
猜你喜欢
  • 2010-12-10
  • 2020-04-02
  • 2015-10-11
  • 2015-12-27
  • 2012-05-02
  • 2013-05-09
  • 2014-11-22
  • 2018-02-22
  • 1970-01-01
相关资源
最近更新 更多