我正在使用tfs build构建我的项目的一个版本,它为tfs构建资源管理器中的构建生成一个唯一的标识,例如“MyProject_20090122.1”,表明这是2009-01-22的第一个版本。然而,这是我的MyProject 1.0.0版。有没有办法连接这两个标识符,还是我必须在外部和其他地方维护映射?
我是否应该让我的版本标识符确认tfs构建名称的方式,以便我上面的版本号应该是1.0.20090122.1?
有没有办法为tfsbuild添加评论?
你是怎么做到的?
编辑:
有些人建议版本号可以通过msbuild更新并自动递增。但问题是,如何确定特定团队构建的版本,因为版本号未嵌入构建名称中?我可以控制tfs构建名称的标识符吗?
答案 0 :(得分:1)
您可以覆盖版本控制目标以提供您自己的版本号。这样你就可以符合x.x.x或你想要的任何风格。理想情况下,x.y.x表示x是主要版本,y是次要(点发布),z是一个唯一的构建号,它增加每个构建。您可能还想使用新更新的内部版本号(例如1.0.1423)再次检入assemblyinfo.cs。
通过谷歌有很多关于此的信息。特别是: http://geekswithblogs.net/etiennetremblay/archive/2008/10/03/matching-tfs-build-labels-with-custom-build-number.aspx
答案 1 :(得分:0)
我已经使用了我的msbuild文件并覆盖了版本号生成步骤。这允许我输入我自己的版本号,MSBuild随后会在整个构建步骤中使用它。
您需要编辑的文件是TFSBuild.proj文件,它本质上只是一个MSBuild文件。
如果您有一个名为“BuildNumberOverrideTarget”的目标,如下面的代码,您可以告诉MSBuild使用您的自定义数字。关于如何覆盖构建号,还有一个MSDN article。
<Target Name = "BuildNumberOverrideTarget" >
<BuildNumberGenerator>
<Output TaskParameter="BuildNumber" PropertyName="BuildNumber"/>
</BuildNumberGenerator>
</Target>
基本上你所要做的就是编写一个覆盖BuildNumberOverrideTarget的目标,你的构建将反映这一点。
答案 2 :(得分:0)
查看我的博客文章,了解有关如何创建和集成自己的TFS内部版本号生成器的完整详细信息: http://www.grahamzero.com/blog/2009/03/team-foundation-server-2008-build-number-generator.html