demoshop

demo, trying to be the best_

在現在這個「只要更新的夠快,Bug 就再也不是 Bug 」的年代,明確的知道軟體版本號是一個重要的議題,因為可能使用者晚上回報的 Bug 早上就消失了(或是變更嚴重)以往需要手動調整 AssemblyInfo.cs 來達成,但現在要介紹的此套件可以讓您輕鬆愉快的完成自動跳號的需求。

Automatic Versions 可以安裝在 Visual Studio 2013 與 2015 版本。

這是 demo 在 twMVC#21 介紹的套件,會中有說會寫文介紹使用方式,所以現在來還債了。


在之前需要讓 VS 在編譯後可以自動跳號,我們需要開啟AssemblyInfo.cs將版本號的部分改為萬用字元

[assembly: AssemblyVersion("1.0.0.*")]

修改完成後就可以讓 Visual Studio 利用隨機的方式取代萬用字元的區塊,但因為是「隨機」所以其實很亂,利用 Automatic Versions 可以很簡單的操作版本號,請各位先安裝好套件以後選擇「工具」→「Automatic Versions Settings」

即會開啟設定視窗,左方區域您可以選擇要自動設定版本號的範圍(通常我會選在專案,本範例是 WebApplication1)

然後依序設定每個選項(至少要設定和下圖一樣)

按下 Ctrl+Shift+B 編譯後馬上可以看到版本號更新了

[assembly: AssemblyVersion("2015.12.14.0830")]

如果您願意可以仔細的調整每個選項:

  • Configuration - 你可以選擇要自動設定版本號的編譯設定,預設為 Any。
  • Platform - Setting this option to a value other than None will store the selected attribute's value as a MSBuild property named "AssemblyVersions". This allows developers to use a custom build process without needing to parse the version number from a text file or the AssemblyInfo source file.可以選擇要自動設定版本號的編譯平台,預設為 Any。
  • AssemblyInfo Location - 選擇專案內的 AssemblyInfo 檔案(預設在 Properties 資料夾內)。
  • Primary Version Type - 你可以選擇要修改的組件版本資訊。

組件版本資訊的選單說明如下:

  • None - 不調整。
  • Increment - 將目前的值加一。
  • Increment On Demand - 將目前的值加一,但只有使用 Build New Version 才會改變。
  • Increment On Demand w/Reset - 將目前的值加一,但只有使用 Build New Version 才會改變,並且會將此設定後方的子版號歸零。
  • Day Of Year - 將值設定為 DateTime.UtcNow.DayOfYear。
  • Day - 將值設定為 DateTime.UtcNow.Day。
  • Month - 將值設定為 DateTime.UtcNow.Month。
  • Year - 將值設定為 DateTime.UtcNow.Year。
  • Date - 將值設定為 (yyddd format)。
  • Time - 將值設定為 (HHmm format)。
  • Delta Days - 將值設定為 2000-01-01 到現在的天數。

最後提醒一下 Build New Version 是指這套件的功能唷,在專案上按滑鼠右鍵可以看到

 

回應討論