Nuget '2.0.20180607160057-jenkins' 不是有效的版本字符串
Nuget '2.0.20180607160057-jenkins' is not a valid version string
我有一个拒绝推送我的 NuGet 包的脚本化 NuGet 推送:
"%NUGET%" push *.nupkg -Source "%NUGETREPO%"
我遇到的错误是:
'2.0.20180607160057-jenkins' is not a valid version string.
Parametername: value
在写问题的时候,我把兔子洞挖到了一个明显的尽头。
相关实现在这里
https://github.com/NuGet/NuGet2/ ... /src/Core/SemanticVersion.cs
^(?<Version>\d+(\s*\.\s*\d+){0,3})(?<Release>-[a-z][0-9a-z-]*)?$
^(?<Version>\d+(\.\d+){2})(?<Release>-[a-z][0-9a-z-]*)?$
当我将 2.0.20180607160057-jenkins
喂入 online Regex Tester
该字符串通过了两个正则表达式测试。在线正则表达式甚至允许我切换 Ignore Case
和 Explicit Capture
.
下一层在
Version.TryParse(match.Groups["Version"].Value, out versionValue)
System.Version.TryParse
被记录在案 here。
版本不能小于 0
或大于 Int32.MaxValue
。
所以这个特别的失败归结为
2147483647 < 20180607160057
实际上相当直观 - 我需要一个不同的方案来生成我的 nuget 补丁级别。
我有一个拒绝推送我的 NuGet 包的脚本化 NuGet 推送:
"%NUGET%" push *.nupkg -Source "%NUGETREPO%"
我遇到的错误是:
'2.0.20180607160057-jenkins' is not a valid version string.
Parametername: value
在写问题的时候,我把兔子洞挖到了一个明显的尽头。
相关实现在这里 https://github.com/NuGet/NuGet2/ ... /src/Core/SemanticVersion.cs
^(?<Version>\d+(\s*\.\s*\d+){0,3})(?<Release>-[a-z][0-9a-z-]*)?$
^(?<Version>\d+(\.\d+){2})(?<Release>-[a-z][0-9a-z-]*)?$
当我将 2.0.20180607160057-jenkins
喂入 online Regex Tester
该字符串通过了两个正则表达式测试。在线正则表达式甚至允许我切换 Ignore Case
和 Explicit Capture
.
下一层在
Version.TryParse(match.Groups["Version"].Value, out versionValue)
System.Version.TryParse
被记录在案 here。
版本不能小于 0
或大于 Int32.MaxValue
。
所以这个特别的失败归结为
2147483647 < 20180607160057
实际上相当直观 - 我需要一个不同的方案来生成我的 nuget 补丁级别。