我有两个项目在解决方案中。一个是版本3.0.0。*,另一个是2.0.0。*。我使用MSBuild脚本在Team City上构建我的解决方案。如何将版本字符串的内部版本号部分注入AssemblyVersion属性,并保留在开发时定义的major.minor.patch。
换句话说,我想手动控制major.minor.patch(并且解决方案中的主要内容不同)但是会自动增加内部版本号。
答案 0 :(得分:8)
TeamCity将自动为您管理AssemblyVersion属性,但有一些注意事项:
有了这些警告,这就是我们如何设置它:
Build number format
更改为%version%.{0}
%version%
作为major.minor.patch。AssemblyInfo patcher
。确保Assembly version format
填写为%build.number%
。就是这样。 TeamCity将根据%version%和build计数器的定义将所有程序集信息更新为major.minor.patch.build,然后自动将这些更改恢复为构建的最后一步。
答案 1 :(得分:0)
可以通过$(BUILD_NUMBER)在msbuild中使用Teamcity配置内部版本号。保留您的teambuild no为默认值{0}。 我建议您使用它并通过您自己的自定义msbuild编辑两个程序集信息文件。您可以保留每个文件的标记版本,以便版本文件中的版本文件包含2.0.0。$(BUILD_NUMBER),然后使用扩展包detokenise来转换这两个文件(或任何数量的文件)。 仍然认为你应该对这两个项目都有相同的版本......