使用Nant将TeamCity内部版本号编入AssemblyInfo文件

时间:2010-08-02 12:46:17

标签: nant versioning teamcity

我做了很多谷歌搜索,但似乎无法找到一个确切的解决方案,以获得我的AssemblyInfo文件中的TeamCity内部版本号。希望能满足我的要求的完整解决方案......

1将内部版本号添加到Nant变量中。我相信这段代码可以实现这一目标。

   PropertyGroup

      Version$(BUILD_NUMBER)/Version

/PropertyGroup 

(在SO中尽可能最好地重新制作)。

2现在我需要一种方法来更新我的版本号的版本组件,所以我得到类似1.0.0。[build number]。

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

我会恭敬地请求,如果你可以帮助我,这里发布了一个完整的解决方案,其中包含解释,而不是指向其他网站的链接。我看了很多网上的例子,但似乎找不到符合我需要的例子 - 因此我要求了解无所不能的SO社区!

提前致谢。

2 个答案:

答案 0 :(得分:3)

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

要获得类似1.0.0。[内部版本号]的版本号,您可以在TeamCity构建配置中完成此操作。在第一个配置页面(常规设置)。将“内部版本号格式”从“{0}”更改为“1.0.0。{0}”。有关更多选项,请参阅online help

答案 1 :(得分:2)

我知道你要求NAnt可重复使用的任务,但这太酷了。

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