軟體在發布時通常都會加上版本號碼,方便和客戶確認,避免只是因為沒有上版而花費許多時間在想辦法重現問題。
預設的版號為 1.0.0.0
手動設定版本號碼很麻煩? 那你可以試試看 Nerdbank.GitVersioning,他是用於自動部屬的專案來依照 git commit hash 建立版號,例如 1.0.0.2+07f69b45 ,當然也可以自訂,等筆者研究完應該會再來寫一篇的
取得版號
可以直接使用下面的程式碼取得版號,本範例是寫在 Program.cs,也可以建立一個 API 或是寫在網頁下方方便確認。預設的版號為 1.0.0.0
using System.Reflection;
Console.WriteLine($"version: {Assembly.GetEntryAssembly()?.GetName().Version}");
設定版號
版號是設定在 csproj 檔案中,版本號碼只能是數字
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<Version>1.0.0.1</Version>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.2.3"/>
</ItemGroup>
</Project>
比較版本大小
手動比對版本號碼很麻煩,還好有內建的比較方式。會先從第一個數字開始比對,若不同就比大小,相同才往後比。
Version version1 = new Version("1.0.1.0");
Version version2 = new Version("1.0.0.1");
int result = version1.CompareTo(version2);
if (result > 0)
Console.WriteLine("版本一比較大");
else if (result < 0)
Console.WriteLine("版本二比較大");
else
Console.WriteLine("版本一與版本二相同");
// 輸出: 版本一比較大
手動設定版本號碼很麻煩? 那你可以試試看 Nerdbank.GitVersioning,他是用於自動部屬的專案來依照 git commit hash 建立版號,例如 1.0.0.2+07f69b45 ,當然也可以自訂,等筆者研究完應該會再來寫一篇的
留言
張貼留言
如果有任何問題或建議,都歡迎留言或來信: a@ruyut.com