我正在尝试对我的 NuGet 包(.NET Core 2)之一使用语义版本控制。
版本如下:1.0.0-my_fancy_branch.123
.
正如您所猜测的,我尝试将分支名称和当前 BuildId 设置为预发布标签。
不幸的是,dotnet build 出现了这个错误:
...不是有效的版本字符串。
但为什么?这绝对棒极了dotnet push / nuget 的文档没有列出任何禁止的字符。
根据参考文献NuGet 包版本 https://learn.microsoft.com/en-us/nuget/reference/package-versioning#semantic-versioning-200, NuGet 使用语义版本控制 2.0.0 https://semver.org/spec/v2.0.0.html从 NuGet 4.3.0 开始。在早期版本中,仅支持 SemVer 2.0.0 的一个子集,但这仍然可以提示指定版本的问题所在。
In 第 9 节 https://semver.org/spec/v2.0.0.html#spec-item-9(关于预发布版本)指定
标识符必须仅包含 ASCII 字母数字和连字符[0-9A-Za-z-]
.
因此,我猜测您的情况的问题是预发布版本中的下划线。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)