Versioning TeamCity AssemblyInfo修补程序修补程序文件,但DLL版本不是';";对",;

Versioning TeamCity AssemblyInfo修补程序修补程序文件,但DLL版本不是';";对",;,versioning,teamcity,.net-assembly,assemblyinfo,Versioning,Teamcity,.net Assembly,Assemblyinfo,以下是我的assemblyinfo.cs版本字符串的预构建外观: [assembly: AssemblyVersion("2.0.0920.10")] [assembly: AssemblyFileVersion("2.0.0920.10")] 在构建过程中,修补程序执行我想要的操作,修改文件: [assembly: AssemblyVersion("2.0.0.1146")] [assembly: AssemblyFileVersion("2.0.0.1146")] 但在构建过程中的某个时

以下是我的assemblyinfo.cs版本字符串的预构建外观:

[assembly: AssemblyVersion("2.0.0920.10")]
[assembly: AssemblyFileVersion("2.0.0920.10")]
在构建过程中,修补程序执行我想要的操作,修改文件:

[assembly: AssemblyVersion("2.0.0.1146")]
[assembly: AssemblyFileVersion("2.0.0.1146")]
但在构建过程中的某个时刻,它也会这样做:

[assembly: AssemblyVersion("2.0.0921.00")]
[assembly: AssemblyFileVersion("2.0.0921.00")]
然后,当构建完成时,再次显示如下所示:

[assembly: AssemblyVersion("2.0.0920.10")]
[assembly: AssemblyFileVersion("2.0.0920.10")]
在Windows资源管理器中右键单击生成的DLL时,单击“属性”,然后转到“详细信息”选项卡,文件版本为“2.0.921.0”,产品版本为“2.0.921.00”

我还通过
Assembly.getExecutionGassembly().GetName().Version.ToString()获得了“2.0.921.0”

我的构建有两个构建步骤,一个是VS解决方案构建,另一个是命令行步骤,只将DLL复制到开发服务器

我不想粘贴整个构建日志,因为它很大,但以下是我认为最突出的部分:

[14:24:54]: Step 1/2: Visual Studio 2010 Build (Visual Studio (sln)) (27s)
[14:24:54]: [Step 1/2] Update assembly versions: scanning checkout directory for AssemlyInfo files to update version
[14:24:54]: [Update assembly versions] ... for all of our assemblies

[14:24:55]: [Step 1/2] Starting: C:\TeamCity\buildAgent\plugins\dotnetPlugin\bin\JetBrains.BuildServer.MsBuildBootstrap.exe /workdir:C:\TeamCity\buildAgent\work\677e8e784c19cc26 /msbuildPath:C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
[14:24:55]: [Step 1/2] in directory: C:\TeamCity\buildAgent\work\677e8e784c19cc26
[14:25:01]: [Step 1/2] main\solution.sln: Build target: Rebuild (20s)
[14:25:01]: [main\solution.sln] ValidateSolutionConfiguration
[14:25:01]: [ValidateSolutionConfiguration] Building solution configuration "Release|Mixed Platforms".
[14:25:02]: [Step 1/2] main\SolutionDir\solution.csproj: Build target: Rebuild (7s)

...

[14:25:21]: [Step 1/2] Process exited with code 0
[14:25:21]: Step 2/2: Copy Dlls and Templates to Sohodev (Command Line) (3s)
[14:25:21]: [Step 2/2] "BuildAndCopyDllsAndTemplatesv2.cmd" is not present in directory C:\TeamCity\buildAgent\work\677e8e784c19cc26
[14:25:21]: [Step 2/2] Starting: C:\Windows\system32\cmd.exe /c BuildAndCopyDllsAndTemplatesv2.cmd
[14:25:21]: [Step 2/2] in directory: C:\Scripts\Build
[14:25:21]: [Step 2/2]         1 file(s) copied.
[14:25:21]: [Step 2/2]         1 file(s) copied.
[14:25:24]: [Step 2/2] Process exited with code 0
[14:25:24]: Reverting patched assembly versions
[14:25:24]: [Reverting patched assembly versions] Restoring ... for all of our assemblies
[14:25:24]: Publishing internal artifacts (2s)
[14:25:27]: [Publishing internal artifacts] Sending build.finish.properties file
[14:25:27]: Build finished
编辑 我们的TeamCity版本号:6.5.1(构建17834)

编辑
我刚刚升级到6.5.4(Build18046)。行为没有变化。

正如预期的那样,一切都按配置工作

我们有一个VersionNumber.targets文件,它在摆弄assemblyinfo.cs文件

<Import Project="$(MSBuildExtensionsPath)\Microsoft\AssemblyInfoTask\Microsoft.VersionNumber.targets"/>

对这一点的评论使一切都按预期进行