如何为.NET Core应用程序和库设置语义版本控制

如何为.NET Core应用程序和库设置语义版本控制

💡 原文英文,约1500词,阅读约需6分钟。
📝

内容提要

语义版本控制(SemVer)是一种软件版本管理方案,采用<major>.<minor>.<patch>格式(如1.0.2),支持可选的预发布后缀。本文介绍如何在.NET程序集构建时设置SemVer版本号,并在运行时读取该版本号,通过项目文件属性和构建命令确保InformationalVersion准确反映SemVer版本。

🎯

关键要点

  • 语义版本控制(SemVer)是一种软件版本管理方案,采用<major>.<minor>.<patch>格式,支持可选的预发布后缀。
  • SemVer是目前最广泛使用的版本控制方案,Nuget和npm都推荐并支持它。
  • 在构建ASP.NET Core API项目时,需要设置SemVer版本号并在运行时读取。
  • SemVer版本号的结构包括<major>、<minor>、<patch>和可选的-prerelease后缀。
  • 当新版本会破坏现有版本时,<major>组件增加;<minor>在添加新功能但保持向后兼容时增加;<patch>在没有破坏性变化和新功能时增加。
  • 在.NET程序集中的版本号有多个,包括AssemblyVersion、FileVersion、InformationalVersion和PackageVersion。
  • InformationalVersion是唯一可以精确设置为SemVer版本号的版本号,其他版本号会在末尾添加0。
  • 设置SemVer版本号需要在项目的csproj文件中添加<IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion>,并通过dotnet build命令传递版本号。
  • 读取程序集的SemVer版本号可以通过Assembly.GetEntryAssembly()方法获取InformationalVersion。
  • 本文介绍了如何在.NET程序集、库或应用中设置和读取SemVer版本号。
➡️

继续阅读