C# Nuget版本号排序

发布时间 2023-04-03 19:04:39作者: 唐宋元明清2188

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

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

比如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版本规则对预览版本号俩种情况都是完全支持的。