.NET Standard规定了所有.NET平台必须实现的API。它的版本规则是什么?是breaking.adding
,其中1.4
是否添加到1.3
并与2.x
向后兼容,而1.x
与breaking.adding
不向后兼容?
文档不清楚。 Some Microsoft docs表示纯向后兼容性:
鉴于.NET标准库版本,您可以使用针对相同或更低版本的库。(强调添加)
现在2.0已经出局,上述情况似乎并不正确。话虽如此,the release blog post说:
从面向.NET Standard的库中,您将能够引用[图书馆定位] .NET Standard,如果他们的版本低于或等于您要定位的版本。(强调添加)
同一博客文章自相矛盾:
为了允许.NET Framework 4.6.1支持.NET Standard 2.0,我们必须删除.NET Standard 1.5和1.6中引入的.NET Standard中的所有API。
现在2.0已经出来了,版本控制规则是什么?它似乎是{{1}}。 MSFT在哪里记录了这一点?
答案 0 :(得分:6)
我已在On.NET episode on .NET Standard。
中详细解释了这一点通常,这就是.NET Standard的工作方式:
那么为什么会有关于改变的讨论呢?简短的回答是因为我们在定义.NET Standard 1.x时犯了一个错误,并没有考虑平台范围。您应该忽略.NET Standard 1.5和1.6,并避免依赖它们。如果这样做,.NET Standard 2.0是.NET Standard 1.4的严格超集。
有关详细信息,请阅读my blog post on .NET Standard中 .NET Standard 2.0重大更改:添加.NET Framework 4.6.1兼容性部分。
<强>更新即可。经过很多社区反馈,我们决定不再进行这种突破性变革。有关此决定的更多详细信息,请参见.NET Standard FAQ。