【发布时间】:2017-08-05 06:43:04
【问题描述】:
在 Visual Studio 2017 的新项目向导中,我看到了创建新 .NET Standard 库和新 .NET Core 库的选项。我了解 .NET Standard 是一个规范,而 .NET Core 是该规范的跨平台实现。
但是有人可以解释从以下每种方式创建库时的真正区别吗?更糟糕的是,如果您仔细观察,两个对话框的顶部还有一个下拉菜单,上面写着“.NET Framework 4.6.2”:( - 这是怎么回事?
.NET 标准库
.NET Core 库
旁注:命名约定令人困惑。 “.NET 5”听起来更简单
【问题讨论】:
-
命名约定是因为从 4 开始他们开始使用Semantic Versioning,他们不会更改为 .NET 5,直到他们对框架进行更改导致它不向后兼容用 4.x 开发的东西。这就是编号系统的意义所在,如果您运行的 4.x 版本大于或等于您编写代码的版本,因为您知道您的代码无需任何更改即可编译。如果你尝试在 5.x 上编译你的代码,你知道你需要检查兼容性。
-
但他们在称它为
.net core 2.0时放弃了这个想法:( blogs.msdn.microsoft.com/dotnet/2016/09/26/… -
我们谈论的是 .NET 框架而不是 .net 核心版本控制。
-
还记得 PCL 库项目模板吗?以前创建跨平台库的解决方案。那已经为 .NETCore 退休了,从 n 中受苦太多了!问题,由 .NETStandard 取代。兼容性网格is here。请记住,这是正在进行的工作,2.0 需要一段时间才能显示出来。
标签: .net visual-studio .net-core .net-4.6 .net-standard