自动增加内部版本号

Myl*_*ell 3 .net versioning msbuild teamcity

我有两个解决方案的项目.一个是版本3.0.0.*,另一个是2.0.0.*.我使用MSBuild脚本在Team City上构建我的解决方案.如何将版本字符串的内部版本号部分注入AssemblyVersion属性,并保留在开发时定义的major.minor.patch.

换句话说我想手动控制major.minor.patch(并且解决方案中的各个主要部分的主要部分会有所不同)但是会自动增加内部版本号.

Joh*_*err 8

TeamCity将自动为您管理AssemblyVersion属性,但有一些注意事项:

  1. 它将完全覆盖现有价值.
  2. 它将更新解决方案中的所有 AssemblyVersions,因此如果您在同一解决方案中保留不同的项目版本,这可能对您不起作用.

有了这些警告,这就是我们如何设置它:

  • 在构建配置的" 常规设置"中,将更Build number format改为%version%.{0}
  • Build Parameters中定义%version%为major.minor.patch.
  • Build Steps中,滚动到屏幕底部,然后单击Add Build Feature.选择AssemblyInfo patcher.确保Assembly version format填写为%build.number%.

就是这样.TeamCity将根据%version%和build计数器的定义将所有程序集信息更新为major.minor.patch.build,然后自动将这些更改还原为构建的最后一步.