我希望创建一个构建号,看起来像“主版本号.次版本号.日期.TFS中的最后更改集编号”,问题是如何从TFS获取最后的更改集编号。是否有任何属性或其他方法可以实现?
好的,最终我找到了解决方案。下面是一个任务,可以提供最新的变更集号,并创建一个属性将其插入一个程序集信息版本号中。主要问题在于缺少TfsLibraryLocation属性(如果没有它,应该会指向GAC中的库,但实际上没有)。
<Target Name="GetVersionChangeSet">
<TfsVersion
TfsLibraryLocation="C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies"
LocalPath="$(SolutionRoot)">
<Output TaskParameter="Changeset" PropertyName="ChangesetNumber"/>
</TfsVersion>
<Message Text="TFS ChangeSetNumber: $(ChangesetNumber)" />
tf changeset /latest /i
,但我在家无法验证。tf changeset /latest /i
可以获取正确的信息,但如何将其放入属性中呢? - Mark Cooper抱歉,我无法对最新的答案进行评论。
您提供的 TfsVersion 任务仅会在 $(SolutionRoot)
中提供最新的变更集编号。
如果您在 $(SolutionRoot)\subdir
中有更新的内容,则提供的解决方案将无法正常工作,因为它将从 $(SolutionRoot)
而不是从 $(SolutionRoot)\subdir
中获取最新的内容。
我使用 tf changeset /latest /i
,这对我很有效。
请查看以下扩展项目。您将找到大约5种不同的解决问题的方法。