Teamcity内部版本号格式的汇编版本

时间:2015-10-21 09:15:53

标签: teamcity

在我的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版本而不是通过硬编号设置的

1 个答案:

答案 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(&quot;$1.$2.$3.$(RevisionNumber)" />

  </Target>
</Project>