Skip to content

C# 使用转换语义版本号

Updated: at 08:22,Created: at 01:25

本文告诉大家如何转换语义版本号,那么什么是语义版本号,语义版本号(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 项目的代码

GitVersion/SemanticVersion.cs at master

参见:语义版本号(Semantic Versioning) - walterlv


知识共享许可协议

原文链接: http://blog.lindexi.com/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

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。 欢迎转载、使用、重新发布,但务必保留文章署名 林德熙 (包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我 联系