本文告诉大家如何转换语义版本号,那么什么是语义版本号,语义版本号(semantic version)就是版本号带 alpha 等的版本号
在以前的版本号都是这样 1.2.1
的格式,这个格式可以使用微软的 Version 类转换
var str = "1.2.1";
var version = Version.Parse(str);
如果需要使用语义版本号如1.2.1-alpha
的格式,或看起来就很难解析的1.2.45-alpha-beta+nightly.23.43-bla
就不能使用微软提供的 version 转换
不要看语义版本号很复杂,实际上也是有规则的,请看语义版本号(Semantic Versioning) - walterlv, 官方文档
可以安装 semantic version library for .Net 转换,安装方法是使用 Nuget 搜索 semver 或输入 Install-Package semver
安装
安装完成,如转换 1.2.45-alpha-beta+nightly.23.43-bla
,可以使用这个代码
using Semver;
// 忽略代码
var str = "1.2.45-alpha-beta+nightly.23.43-bla";
var version = SemVersion.Parse(str);
如果不想安装库,可以复制代码https://gist.github.com/yadyn/959467 ,如果觉得这个库不靠谱,可以复制 git tools 项目的代码
本文会经常更新,请阅读原文: https://dotnet-campus.github.io//post/C-%E4%BD%BF%E7%94%A8%E8%BD%AC%E6%8D%A2%E8%AF%AD%E4%B9%89%E7%89%88%E6%9C%AC%E5%8F%B7.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 lindexi (包含链接: https://dotnet-campus.github.io/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 。