我正在寻找.NET Core project.json文件的版本号格式的正式定义.
版
Visual Studio创建默认版本号“1.0.0- *”.我很乐意这意味着*在连续构建中得到更新(它没有).构建版本号为1.0.0.什么是*意味着什么是合法的可能性?
依赖
我期望依赖编号遵循nuget versioning rules,因为KPM基本上是一个nuget前端,但它似乎不支持括号编号(例如“[1,2)”) – 我得到“不是有效的版本字符串“当我尝试除空白或xx- *格式以外的任何内容时.
解决方法
我不确定查找定义的来源有什么问题.我认为这是最准确的搜索地点,特别是现在vNext托管在GitHub上.
查看描述的异常,我们指向SemanticVersion.cs.
In the method TryParseInternal
,it’s fairly obvious why you’re running into issues when attempting to declare min/max versions that way.对于该方法内置的[,]或(,)根本没有处理.
如果我们研究常规的NuGet版本规范,it’s obvious that TryParseVersionSpec
does have this handling built in.
至于指定可接受格式的文档,您可能必须等到它超出CTP状态.如果您认为这是一个问题,那么您应该document it in GitHub.贡献者对这些类型的问题非常敏感.就个人而言,我不确定在部署构建时是否需要设置最大版本的依赖项.