.NET 5.0 发布后是否需要 .NET Standard

BKS*_*BKS 2 .net .net-core .net-standard

由于.NET 5.0 将统一.NET 和.NET Core 平台,是否需要构建.NET Standard 类库类型项目以针对不同版本的.NET 和.NET Core?

Ego*_*pov 5

Immo Landwerth在devblogs上有一篇很好的文章:

至于你的问题:

.NET 5 和所有未来版本将始终支持 .NET Standard 2.1 及更早版本。从 .NET Standard 重新定位到 .NET 5 的唯一原因是可以访问更多运行时功能、语言功能或 API。因此,您可以将 .NET 5 视为 .NET Standard vNext。

  • 使用netstandard2.0在 .NET Framework 和所有其他平台之间共享代码。
  • 使用netstandard2.1在 Mono、Xamarin 和 .NET Core 3.x 之间共享代码。
  • 使用net5.0进行代码共享。

概括:

net5.0 用于在任何地方运行的代码。它组合并替换了 netcoreapp 和 netstandard 名称。我们还有特定于平台的框架,例如 net5.0-windows(以及后来的 net6.0-android 和 net6.0-ios)。

由于标准与其实现之间没有区别,因此与 .NET Standard 相比,您将能够更快地利用新功能。而且由于命名约定,您将能够轻松分辨谁可以使用给定的库 — 无需查阅 .NET Standard 版本表。

虽然 .NET Standard 2.1 将是 .NET Standard 的最后一个版本,但 .NET 5 和所有未来版本将继续支持 .NET Standard 2.1 及更早版本。您应该将 net5.0(和未来版本)视为共享代码向前发展的基础。