Nuget Semver - 允许哪些预发行角色?

Chr*_*uer 2 nuget .net-core

我正在尝试对我的一个 .Nuget 包(.Net Core 2)使用 semantiv 版本控制版本看起来像这个 1.0.0-my_fancy_branch.123。

您可以猜到,我尝试将分支名称和当前 BuildId 设置为预发布标记。

不幸的是,dotnet build 出现了这个错误: ... is not a valid version string.

但为什么?dotnet push / nuget的绝对优秀文档没有列出任何禁止字符。

我认为 PIP 是钝的...

小智 6

根据NuGet 包版本的参考,NuGet从 NuGet 4.3.0 开始使用语义版本控制 2.0.0。在早期版本中,仅支持 SemVer 2.0.0 的一个子集,但这仍可能会提示指定版本的问题所在。

第 9 节(关于预发布版本)中规定“标识符必须仅包含 ASCII 字母数字和连字符 [0-9A-Za-z-]。”。因此,我猜您的情况下的问题是预发布版本中的下划线。