【问题标题】:Mix existing and AssemblyInfo patcher generated version info in TeamCity builds在 TeamCity 构建中混合现有和 AssemblyInfo 修补程序生成的版本信息
【发布时间】:2015-11-10 13:47:16
【问题描述】:

我启用了一个名为“AssemblyInfo 修补程序”的“构建功能”来调整由我的 TeamCity 构建生成的 DLL 版本。我重新混合了来自this other question 的信息并想出了这个Assembly version format 设置:

1.0.%build.vcs.number%.%system.build.number%

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

我该怎么做?

我已经猜到/尝试过:

{1}.{0}.%build.vcs.number%.%system.build.number%

但这给出了一个错误。我试过了:

%build.vcs.number%.%system.build.number%

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

我读过the AssemblyInfo patcher documentation,但它并没有解释太多。

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

如何设置“AssemblyInfo 修补程序”以便:

  • MajorMinor按原样保留在源文件中
  • RevisionVCS 修订号
  • BuildTeamCity 内部版本号

如果有可能?

【问题讨论】:

标签: version-control teamcity versioning assemblyinfo


【解决方案1】:

您可以使用File Content Replacer。它提供了引用正则表达式和change only specific parts of AssemblyVersion attribute的捕获组的能力。

【讨论】:

  • 感谢您的建议。我知道构建功能,但在这种情况下认为它是一种破解/解决方法,因为“AssemblyInfo 修补程序”似乎是 适当的 使用的东西。我希望/正在寻找一种方法来让 Patcher 功能以我想要的方式工作。如果我不能,我可能会求助于您的建议,或者也许只是使用硬编码的主要/次要。
  • 实际上文件内容替换器是一项新功能,它包含并扩展了 AssemblyInfo Patcher 提供的功能。由于向后兼容性,我们不会删除 AssemblyInfo Patcher。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多