在我的assambly版本中我想设置前3位数,第4位应该设置为彻底的Teamcity。
实施例: 我在Assambly中设置了2.0.1.0。 然后我的Teamcity应该做: 2.0.1.90,2.0.1.91 ......
目前我有: 2.0.1。%build.counter%
但我想要的是,2.0.1是通过我的assambly版本而不是通过硬编号设置的
答案 0 :(得分:0)
您使用的是哪个Teamcity版本? Teamcity 9.1有一个新的构建功能File Content Replacer
,它允许您使用正则表达式替换文件的内容。然而,teamcity的早期版本没有内置的,所以对于它们你可以自己编写它,可以是powershell脚本或MSBuild目标。
MSBuild
目标SetRevisionNumber
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<UsingTask AssemblyFile="MSBuild.Community.Tasks.dll" TaskName="MSBuild.Community.Tasks.FileUpdate" />
<Target Name="SetRevisionNumber" Condition="$(RevisionNumber) != ''">
<Message Text="Setting Revision Number to $(RevisionNumber) in $(AssemblyVersionFile)" Importance="High" />
<FileUpdate Files="$(AssemblyVersionFile)"
Regex="\[assembly: AssemblyVersion\(.(\d+)\.(\d+)\.(\d+)\.(\d+)"
ReplacementText="[assembly: AssemblyVersion("$1.$2.$3.$(RevisionNumber)" />
</Target>
</Project>