【发布时间】:2011-03-21 20:23:09
【问题描述】:
我正在尝试在 TFS MSBuild 中获取最新的变更集版本。我尝试了许多解决方案,并引用了TFS and msbuild version number with last changeset,但没有得到想要的结果。还有其他想法吗?
-
一些博客条目/示例建议使用“tf changeset /latest /i msbuild”,但是我找不到有关如何将所需值放入 MSBuild xml 文件中的属性的文档。
李> 其他示例建议使用 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