使用Nant将TeamCity构建编号写入AssemblyInfo文件

4

我已经进行了很多谷歌搜索,但似乎找不到一个确切的解决方案来将TeamCity构建号放入我的AssemblyInfo文件中。希望能提供满足我的要求的完整解决方案...

1 将构建号放入Nant变量中。我相信这段代码可以实现这一点..

   PropertyGroup

      Version$(BUILD_NUMBER)/Version

/PropertyGroup 

2 现在我需要一种方法来更新版本号中的修订版组件,以便获得类似于1.0.0.[构建号]的东西。

3 理想情况下,我需要一个可重复使用的 Nant 目标,这样我就可以调用它并传递要更新的程序集信息文件的路径。

如果您能帮助我,请尽可能提供完整的解决方案和说明,而不是其他网站的链接。我查看了很多在线示例,但似乎找不到符合我需求的 - 因此,我请求全知的 SO 社区的知识!

提前感谢。

2个回答

3
首先,您问题中的代码片段是MSBuild语法,而不是NAnt。假设NAnt是您的构建工具,这里有一个很好的解释如何使用Cruise Control.NET更新AssemblyInfo文件的方法:这里。这同样适用于TeamCity,只需要将“CCNetLabel”替换为“build.number”,即可完成。
要获得类似于1.0.0.[构建编号]的版本号,您可以在TeamCity构建配置中实现。在第一个配置页面(通用设置)上,将“构建编号格式”从“{0}”更改为“1.0.0.{0}”。有关更多选项,请参见在线帮助

2
我知道你要求一个可重复使用的NAnt任务,但这个太酷了。
TeamCity有一个新的专为此目的量身定制的功能(AssemblyInfo Patcher)。 您不需要更改(NAnt)构建中的任何内容。只需在生成步骤配置中添加“AssemblyInfo patcher”的“附加生成特性”。您还可以在那里设置版本格式。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接