NuGet Prerelease限制

时间:2017-03-20 18:23:46

标签: nuget versioning

nuget允许预发布版本修饰符

例如我正在使用版本1.0.0,并且可以添加像

这样的预发布修改器
  • -beta
  • -rc
  • -beta2

但是,如果我尝试设置类似

的内容
-nightly20170320191800

失败

所以我的问题是这个预发布字符串的具体限制是什么

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

好吧我明白了:

我正在使用nuget 3.3.0,它在没有有意义的消息(Version string invalid

的情况下死掉

nuget 3.5.0死于The special version part cannot exceed 20 characters.

此限制已被删除(https://github.com/NuGet/Home/issues/2735

现在我使用nuget 4.0.0并且按预期工作。

所以正确答案是:

来自SemVer规范2.0(http://semver.org/

  

可以通过在补丁版本之后紧跟附加连字符和一系列点分隔标识符来表示预发布版本。标识符必须仅包含ASCII字母数字和连字符[0-9A-Za-z-]。标识符绝不能为空。数字标识符不得包含前导零。预发布版本的优先级低于关联的普通版本。预发布版本表示版本不稳定,可能无法满足其关联的正常版本所表示的预期兼容性要求。示例:1.0.0-alpha,1.0.0-alpha.1,1.0.0-0.3.7,1.0.0-x.7.z.92。

然而,一些过去的nuget版本(最高3.5.0)增加了额外的长度限制。版本4.0.0在此方面起作用,如规范所定义。