我想创建它看起来像一个Major.minor.Date.LastChangeSetInTFS版本号,问题是如何从TFS获得最后变更号码。 有没有什么财产,什么?
Answer 1:
OK终于我找到了一个解决方案。 这里有一个任务,将提供最新的变更数量,并创建一个属性来插入它在大会信息的版本号。 主要的问题是缺少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)" />
Answer 2:
据对评论这个页面 ,你可以使用命令行tf changeset /latest /i
,但我无法验证,从家里。
Answer 3:
对不起,我不能在最新的答案发表评论。
您所提供只会给你的最新变更号码的形式TfsVersion任务$(SolutionRoot)
如果你有什么新的$(SolutionRoot)\subdir
,所提供的解决方案是行不通的,因为它会给你从最新的$(SolutionRoot)
而不是从$(SolutionRoot)\subdir
,你会希望。
我用的是tf changeset /latest /i
和它为我工作得很好。
Answer 4:
看看下面的扩展项目。 你会发现在5个不同的方法来解决你的问题。
- MSBuild扩展包 -积极维护,这个扩展提供超过280个任务
- 的MSBuild社区任务项目 -自2007年以来没有保持,这一套〜90级的任务还是有一些独特的任务,即平面文件为基础的版本任务
- SDC任务库 -自2008年8月不能维持,这种扩展已经吸收到MSBuild扩展包。 如果有什么东西你不能在MSBuild扩展包发现,检查这一个,以其300多个任务机会的投资组合是,它可能有你所需要的。
文章来源: TFS and msbuild version number with last changeset