现在我们的程序集的版本号为 2.0.831.0。据我了解,这是主要版本、次要版本、日期和内部版本号。如果我进行更改并在同一天再次构建,则会是 2.0.831.1、2.0.831.2 等。
我的 TeamCity 内部版本号格式仅为 2.{0},其中 {0} 是一个自动递增的数字,并且永远持续下去(2.195、2.196 等)。
如何使 TeamCity 看起来与程序集版本完全一样?我们希望能够将更改日志与程序集版本关联起来,这样任何人都可以说程序集版本 2.0.831.2 在这些文件中进行了这些更改。
额外信息: 如果重要的话,我们的构建步骤使用“Visual Studio (sln)”选项而不是“MSBuild”。 如果重要的话,我们使用 Subversion 进行源代码控制。 我们的 TeamCity 版本是 6.5.1(内部版本 17834)。
最佳答案
我建议您采用 semantic versioning scheme {major}.{minor}.{patch}
并为版本号附加第四个元素 {major}.{minor}.{patch}.{build}
。
这对于将构建日期包含到版本控制方案中更有用。
TeamCity 6.5(您尚未指定版本)具有构建功能,可用于在构建过程中修补 AssemblyInfo.cs 中的版本。请参阅 AssemblyInfo Patcher 的文档.
然后,您可以按照您希望在程序集中使用的方式定义内部版本号格式,并将该格式用于内部版本本身以及修补功能。
关于versioning - 使 TeamCity 版本与 .NET 程序集版本匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7258718/