我们通常在制作NuGet
包的时候,会给包一个版本号,但是NuGet
包的版本号后面为啥还有-alpha
这样子字符呢?
这不得不提下,关于NuGet
的版本号规范。
版本号定义
Major.Minor.Patch[-Suffix] ([options] 方括号的内容表示可选项,非必填)
语义说明:
Major:主版本号,重大更改
Minor:次版本号,新增功能,但可向后兼容
Patch:修订号,仅可向后兼容的 bug 修复
-Suffix(可选):表示预发布版本,可以是任何文本。以下是推荐的写法
-alpha:Alpha 版本,通常用于在制品和试验品。
-beta:Beta 版本,通常指可用于下一计划版本的功能完整的版本,但可能包含已知 bug。
-rc:候选发布,通常可能为最终(稳定)版本,除非出现重大 bug。
版本号示例
1.0.89
1.0.0-alpha
1.2.4-rc
1.25.4-beta
1.25.312-prerelease
版本范围
版本范围主要是用于我们制作nuget包时,包的版本依赖限制。
.nuspec 文件中的引用
<dependency> 元素中的 version 属性描述了依赖项可接受的范围版本。
<!-- Accepts any version 6.1 and above. -->
<dependency id="ExamplePackage" version="6.1" />
<!-- Accepts any version above, but not including 4.1.3. Could be
used to guarantee a dependency with a specific bug fix. -->
<dependency id="ExamplePackage" version="(4.1.3,)" />
<!-- Accepts any version up below 5.x, which might be used to prevent pulling in a later
version of a dependency that changed its interface. However, this form is not
recommended because it can be difficult to determine the lowest version. -->
<dependency id="ExamplePackage" version="(,5.0)" />
<!-- Accepts any 1.x or 2.x version, but not 0.x or 3.x and higher. -->
<dependency id="ExamplePackage" version="[1,3)" />
<!-- Accepts 1.3.2 up to 1.4.x, but not 1.5 and higher. -->
<dependency id="ExamplePackage" version="[1.3.2,1.5)" />
参考文献:https://learn.microsoft.com/zh-cn/nuget/concepts/package-versioning。
微信公众号:
欢迎转载分享,如若转载,请标注署名。
本文会经常更新,请阅读原文: https://huchengv5.gitee.io//post/NET-NuGet%E5%8C%85%E7%9A%84%E7%89%88%E6%9C%AC%E8%A7%84%E8%8C%83.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名胡承(包含链接: https://huchengv5.gitee.io/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 。