2010-08-02 71 views
4

我做了大量的Google搜索,但似乎找不到将TeamCity内部版本号存入我的AssemblyInfo文件的确切解决方案。希望能满足我的要求的完整解决方案...使用Nant将TeamCity内部版本号编入AssemblyInfo文件

1将构建号码获取到Nant变量中。我相信这个代码将完成这个..

PropertyGroup 

     Version$(BUILD_NUMBER)/Version 

/PropertyGroup 

(在SO中尽可能最好地重现)。

2现在我需要一种方法来更新我版本号的修订版组件,因此我得到了类似于1.0.0 [build number]的内容。

3理想情况下,我需要在可重复使用的Nant目标中的所有内容,以便我可以将其传递到要更新的程序集信息文件的路径中。

我会恭敬地请求,如果你能帮助我一个完整的解决方案在这里发布解释,而不是链接到其他网站。我看了很多在线示例,但似乎找不到适合我需要的示例 - 因此我要求了解全能SO社区的知识!

在此先感谢。

回答

3

首先,您问题中的代码片段是MSBuild语法,而不是NAnt。假设NAnt是您的构建工具,有一个很好的解释如何使用Cruise Control.NET here更新AssemblyInfo文件。这也适用于TeamCity,只需将“CCNetLabel”替换为“build.number”即可。

要获得1.0.0版本的版本号[内部版本号],您可以在TeamCity版本配置中完成该版本。在第一个配置页面(常规设置)上。将“生成数字格式”从“{0}”更改为“1.0.0。{0}”。请参阅online help了解更多选项。

2

我知道你问了一个NAnt可重用任务,但这太酷了。

TeamCity有一个新的feature tailor-made for this purpose (AssemblyInfo Patcher)。 您不必在(NAnt)构建中更改任何内容。只需在构建的“构建步骤”配置中为AssemblyInfo修补程序添加“其他构建功能”即可。您也可以在那里设置版本的格式。