Nuget包版本号和我们软件应用版本号一样,不过因为稳定性等的考虑,组件版本有更高的要求。预发布版本使用频率更高

版本号介绍,详见我朋友胡承老司机的博客:Nuget包的版本规范 (qq.com)

我这里加一个preview版本,在我这团队用的最多。按排序的话:

  1. Alpha 版本:-alpha 后缀,是最初的预发布版本,通常是一个不完整的、包含很多缺陷和未经充分测试的版本。

  2. Beta 版本:-beta 后缀,是 Alpha 版本之后的一系列预发布版本,已经包含了较多的新特性和改进,但仍然存在某些缺陷和未经充分测试的功能。

  3. Preview 版本:-preview 后缀,是在 RC 版本之前发布的一个预览版本,通常包含所有计划中的新特性和功能,并且已经通过了充分的内部和外部测试,但仍可能存在一些问题和未知的 bug。它的发布旨在让用户能够提前体验和了解新的功能和特性。

  4. RC 版本:-rc 后缀,是 Release Candidate(候选版本)的缩写,是在 Beta 版本之后发布的一个最终测试版本,通常在该版本中不再添加新的功能和特性,主要是针对已知的 bug 进行修复和优化,这个版本可能会成为最终版本。

比如1.0.1-alpha.2,表示1.0.1有个开发联调版本alpha,alpha版本下面有构建号次数2。

也有开发在构建号后添加预览版本:1.0.1.2-alpha,而VS也是支持的。比如:

引用微软的Nuget.Versioning包对Nuget版本进行排序,输出一个Demo看看

 1     var list = new List<string>();
2 list.Add("1.0.1");
3 list.Add("1.0.2");
4 list.Add("1.0.2.1");
5 list.Add("1.0.2-preview");
6 list.Add("1.0.1.2-preview1");
7 list.Add("1.0.1.24-preview1");
8 list.Add("1.0.1-preview1.2");
9 list.Add("1.0.1-preview.2");
10 list.Add("1.0.1-preview1");
11 list.Add("1.0.1-preview2");
12 var nugetVersions = list.Select(i => new NuGetVersion(i)).ToList();
13 nugetVersions.Sort();
14 Debug.WriteLine(string.Join("\r\n", nugetVersions));

输出结果:

从这个demo可以看出,Nuget版本规则对预览版本号俩种情况都是完全支持的。

C# Nuget版本号排序的更多相关文章

  1. list中的对象或者map中的版本号排序 version排序

    经常会用到版本号排序,直接把他封装成一个工具用起来比较方便. List<A> aList = new ArrayList<>(); ...aList 赋值 ... Collec ...

  2. MySQL 版本号排序

    1.业务背景 版本检查接口返回版本号排序时出现如下图所示问题 普通的查询按数字值逐级比较,导致版本号高的排在了后面,这样版本检查根据版本号排序倒排取出来的不是最新的版本号,本文就此问题查询了诸多方法, ...

  3. 获取 Nuget 版本号

    本文告诉大家通过命令行获取 Nuget 的版本号 在 Nuget 中没有 -version 和 -v 和 --version 等写法,只需要直接输入 nuget 在第一行就会显示版本号 nuget N ...

  4. 关于oracle数据库中获取版本号类数据最大值的sql

    目前还在高度加班中,但是本次内容怕自己忘记,好不容易解决的,所以赶紧先随便抽点时间记录下,也没来得及考虑效率什么的优化问题,免得以后忘记了. 测试库结构如下: 表名为 testtab 字段名为test ...

  5. 165 Compare Version Numbers 比较版本号

    比较两个版本号 version1 和 version2.如果 version1 大于 version2 返回 1,如果 version1 小于 version2 返回 -1, 除此以外 返回 0.您可 ...

  6. 介绍了ASP。净样板

    下载sample application (or see on Github) 内容 问题介绍什么是ASP.NET样板文件NET Boilerplate不是开始创建空的web应用程序从模板域层 关于名 ...

  7. 分享一个CQRS/ES架构中基于写文件的EventStore的设计思路

    最近打算用C#实现一个基于文件的EventStore. 什么是EventStore 关于什么是EventStore,如果还不清楚的朋友可以去了解下CQRS/Event Sourcing这种架构,我博客 ...

  8. Entity Framework7 入门之全功能.NET版本下使用EF7(含源码)另附数据迁移常见错误处理

    Entity Framework7 入门之全功能.NET(Console, WinForms, WPF等)使用EF7 昨天,我们介绍了EF的新特性和开发计划,如果你还不了解,请移步 Entity Fr ...

  9. shell学习笔记

    shell学习笔记 .查看/etc/shells,看看有几个可用的Shell . 曾经用过的命令存在.bash_history中,但是~/.bash_history记录的是前一次登录前记录的所有指令, ...

随机推荐

  1. Delphi中idHttpServer

    Delphi7中测试idHttpServer,自带的idHttpServer 仅放上测试的部分代码,便于自己查看 1 unit Unit1; 2 3 interface 4 5 uses 6 Wind ...

  2. 1.HTML中的标签

    1.HTML的基础标签 <!--        -->  表示注释 1)  html语言是解释型语言,不是编译型 浏览器是容错的2)  html页面中由一对标签组成:<html> ...

  3. 微信小程序中注册页面设计

    .wxml <text>姓名</text> <input placeholder="请输入姓名" bindinput="getname&qu ...

  4. 盘点10个最受欢迎IntelliJ IDEA主题,必有一款适合你!

    选择一款适合自己的主题,这样每天工作才不会累!下面给大家精选了一批优秀的主题,并配上案例截图.如果有你喜欢的,那就赶紧去下载吧! Darcula 这是IntelliJ IDEA默认的暗色主题,适合长时 ...

  5. Jx9嵌入式脚本语言基本用法

    Jx9是一种嵌入式脚本语言,可用于编写嵌入式脚本和扩展. 以下是一些使用Jx9的示例: 1. 计算器 Jx9可以轻松实现一个计算器.例如: ```print("Enter two numbe ...

  6. DVWA-SQL Injection (Bind) SQL盲注

    盲注同于union select查询注入,盲注只能得到数据库回显的正确和错误,利用返回的正确和错误一个一个判断. LOW 审计源码 <?php if( isset( $_GET[ 'Submit ...

  7. 与NewBing一起写作:《Web应用安全入门》

    前言 本文内容基于我的<Web应用安全入门>公开课视频. Prompt:下面是一篇课程音频转录后的文本,请把它转成老师和学生对话形式的文本,要求遵循原文结构,语言衔接流畅,保持 Markd ...

  8. Android 音视频采集那些事

    音视频采集 在整个音视频处理的过程中,位于发送端的音视频采集工作无疑是整个音视频链路的开始.在 Android 或者 IOS 上都有相关的硬件设备--Camera 和麦克风作为输入源.本章我们来分析如 ...

  9. Centos7 设置定时任务

    Centos7 设置定时任务 在centos上最常用的定时任务应该就是crontab了,在经过各种度娘之后有三种方式实现定时任务的方法,但是所用到的场景有所不同 at 适合仅执行一次就结束的调度命令, ...

  10. STL常用容器用法总结

    vector 变长数组,倍增的思想 size() 返回元素个数 empty() 返回是否为空 clear() 清空 front()/back() push_back()/pop_back() begi ...