在 TeamCity 构建中混合现有的和 AssemblyInfo 修补程序生成的版本信息
Mix existing and AssemblyInfo patcher generated version info in TeamCity builds
我启用了一个名为 "AssemblyInfo patcher" 的 "Build Feature" 来调整由我的 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.number
和 build.number
作为 major/minor 而不是构建和修订号,例如1234.21.0.0
.
我读过 the AssemblyInfo patcher documentation 但它根本没有解释太多。
我浏览了可用的变量(带有输入字段右侧的图标)但没有找到相关变量。
如何设置 "AssemblyInfo patcher" 以便:
- Major 和 Minor 保持源文件中的原样;
- Revision 是 VCS 修订号;
- Build 是 TeamCity 内部版本号。
如果可能的话?
您可以使用 File Content Replacer. It provides the ability to reference capturing groups of the regular expression and change only specific parts of AssemblyVersion attribute.
我启用了一个名为 "AssemblyInfo patcher" 的 "Build Feature" 来调整由我的 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.number
和 build.number
作为 major/minor 而不是构建和修订号,例如1234.21.0.0
.
我读过 the AssemblyInfo patcher documentation 但它根本没有解释太多。
我浏览了可用的变量(带有输入字段右侧的图标)但没有找到相关变量。
如何设置 "AssemblyInfo patcher" 以便:
- Major 和 Minor 保持源文件中的原样;
- Revision 是 VCS 修订号;
- Build 是 TeamCity 内部版本号。
如果可能的话?
您可以使用 File Content Replacer. It provides the ability to reference capturing groups of the regular expression and change only specific parts of AssemblyVersion attribute.