首页 > 解决方案 > 我应该使用 .NET Core 还是 .NET 5?

问题描述

我将很快着手为我的组织编写一个主要针对 Windows 机器的新组件。但是,将来它也可能在 Linux 系统上使用。

  1. 鉴于 .NET 5 的出现,在 .NET Core 中编写它有什么意义?
  2. 我在 LTS 中看到了 .NET Core 3.1,但不确定 .NET 5。.NET 5 是否处于适合在生产应用程序中使用的状态?
  3. 此外,.NET 标准是否应该在这个决策过程中发挥作用?

标签: c#.net.net-core.net-standard.net-5

解决方案


这主要取决于您需要哪些功能以及您的库需要支持哪些目标。

提到的最低目标是.NET Standard 2.0这样的库与任何.NET Core、.NET 5 甚至 .NET Framework 4.8都完全兼容——因此对于向后兼容来说,它是一个不错的选择。.NET Standard 2.1 不再与 FW 4.8 兼容,但具有许多与 .NET Core 3.1 一起引入的额外运行时功能,并且与 .NET Core 3.1 以上(包括 .NET 5+)兼容。

但是,您可以直接以 .NET Core 或 .NET 5 为目标。在这些情况下,您的库将与该版本的 .NET Core 或更高版本一起使用。请注意,.NET 5 本质上只是重新命名为 .NET Core,因此它仍然完全兼容。

.NET 5 已准备好生产,但不是 LTS - 从现在开始,.NET 的偶数版本将是 LTS,因此 .NET 6、.NET 8 等。新版本将每年发布。如果您想要最新最好的功能,您可以针对最新的 .NET。但是,只要您不需要一些较新的 API,您就可以针对较旧的版本并仍然在较新的版本中使用您的库,而不会出现任何问题。


推荐阅读