建置組件加上自訂版號

前言

目前的專案,組件版號,預設是自動新增,設定在AssemblyInfo.cs,例:1.0.* ,建置後 1.0.7613.6859,後方粗體字為*號,自動編的結果。
日前,同事問道,可以在建置時,不修改程式下,設定一組自訂的版號嗎? 呃.....沒做過,搜尋相關文章後,Nuget有一套件MSBuild.AssemblyVersion,可以解決此需求。

實作

1.安裝套件
Install-Package MSBuild.AssemblyVersion 

2.MsBuild設定版本參數AssemblyVersionNumber
cd  C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin
.\msbuild.exe "D:\VSO\Kim\Lab Projects\AzureArtifactsLab\AzureArtifactsLab\AzureArtifactsLab.csproj"  -t:rebuild /p:AssemblyVersionNumber=1.0.25

建置結果

結合CI建置

將版號設定為自動增加,並設定在每次建置的標題及組件上。本例的環境為Azure Pipeline,使用BuildId當作Major的流水號

#設定建置名稱
name: v1.0.$(Build.BuildId) ($(SourceBranchName))


#建置工作,設定版號
- task: VSBuild@1
  displayName: 'Build'
  inputs:
    solution: '$(solution)'
    msbuildArgs: '/p:Configuration=release /p:AssemblyVersionNumber=1.0.$(Build.BuildId)'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

建置結果

建置工作名稱加上流水號

版號跟建置工作,保持一致


其它參考

這個網誌中的熱門文章

[TFS] 分支與合併