参考: Nuget 版本控制 SemVer
nuget 版本控制文档内容如下:
SemVer 还为那些创建每日或连续构建的人引入了内部版本号的概念。公共 NuGet.org 库不支持此功能。
它说它在 nuget.org 库中不受支持,但我想知道VSnuget.exe -update
中-install
的包控制台是如何处理它的……
参考: Nuget 版本控制 SemVer
nuget 版本控制文档内容如下:
SemVer 还为那些创建每日或连续构建的人引入了内部版本号的概念。公共 NuGet.org 库不支持此功能。
它说它在 nuget.org 库中不受支持,但我想知道VSnuget.exe -update
中-install
的包控制台是如何处理它的……
看看SemanticVersion.cs
Nuget代码库。这提供了以下正则表达式来验证提供的版本。如果正则表达式不匹配,则版本无效:
new Regex(@"^(?<Version>\d+(\s*\.\s*\d+){0,3})(?<Release>-[a-z][0-9a-z-]*)?$",
RegexOptions.Compiled
| RegexOptions.IgnoreCase
| RegexOptions.ExplicitCapture);
预发布字符串的格式严格必须以破折号开头,然后是字母,然后是破折号和字母数字的任意组合。否+
或.
允许。
尝试pack
使用有效版本以外的任何内容,您将获得:
Attempting to build package from 'ConsoleApplication1.csproj.nuspec'.
'1.0.1+421.500' is not a valid version string.
Parameter name: version
如果你不知何故得到了一个版本无效的包,那么 nuget 打包过程肯定被绕过了,我只能假设尝试推送它会产生不可预知的结果。