在TeamCity构建中混合现有和AssemblyInfo修补程序生成的版本信息

Jer*_*oen 2 versioning version-control teamcity assemblyinfo

我启用了一个名为"AssemblyInfo修补程序"的"构建功能"来调整我的TeamCity构建生成的DLL版本.我从另一个问题中重新混合了信息并提出了这个Assembly version format设置:

1.0.%build.vcs.number%.%system.build.number%
Run Code Online (Sandbox Code Playgroud)

现在我想要实现的最后一件事是让Major(1)和Minor(0)来自原始文件,而不是将它们硬编码到TeamCity中.

我怎样才能做到这一点?

我已经猜到/试过了:

{1}.{0}.%build.vcs.number%.%system.build.number%
Run Code Online (Sandbox Code Playgroud)

但这会产生错误.我试过了:

%build.vcs.number%.%system.build.number%
Run Code Online (Sandbox Code Playgroud)

但是这会产生vcs.numberbuild.number作为主要/次要而不是构建和修订号,例如1234.21.0.0.

我已经阅读了AssemblyInfo修补程序文档,但它根本没有解释.

我已经浏览了可用的变量(带有输入字段右侧的图标),但没有找到相关的变量.

如何设置"AssemblyInfo修补程序",以便:

  • 主要次要保持原样的源文件 ;
  • 修订版VCS修订版号 ;
  • BuildTeamCity内部版本号.

如果可能的话?

Ali*_*ina 5

您可以使用文件内容替换器.它提供了引用正则表达式的捕获组并仅更改AssemblyVersion属性的特定部分的功能.

  • 实际上,文件内容替换器是一项新功能,包括并扩展了AssemblyInfo Patcher提供的功能.由于向后兼容性,我们不会删除AssemblyInfo Patcher. (3认同)