💡
原文英文,约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版本号。
➡️