这是我的 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”。
我也得到“2.0.921.0”Assembly.GetExecutingAssembly().GetName().Version.ToString()
我的构建有 2 个构建步骤,一个是 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(内部版本 18046)。行为没有变化。