微软将不再把 .NET Framework API 移植到 .NET Core 3.0

【大咖・来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》

目前 .NET Core 3.0 拥有的 API 总数约为 .NET Framework API 的 80%,剩下尚未从 .NET Framework 移植到 .NET Core 的 API,微软考虑以开源的形式发布。

微软方面表示,通过 .NET Core 3.0,他们现在已具备轻松移植现代 workload 所需的所有技术,无论是桌面应用、移动应用、控制台应用,网站还是云服务。为此,他们计划将不再把 .NET Framework 上已有的技术移植到 .NET Core 3.0,并考虑使用 MIT 协议来开源不打算移植到 .NET Core 3.0 的 .NET Framework 代码库。

当然不移植 API 并不是说我们在使用新技术方面没有任何机会,只是这些技术不会在 .NET Framework 代码库中出现。

下面我们来看看 .NET Core 和 .NET Framework 的发展历程。

从 .NET Core 1.0 开始,它只有一个非常小的 API 集合,其中仅包含大约 1.8 万个 .NET Framework API。通过 .NET Standard 2.0,微软试图在 .NET Framework, .NET Core 和 Xamarin 之间共享代码,因此 .NET Core 2.0 提供了大约 3.8 万个 .NET Frameworks API。此外,微软还构建了兼容性套件包 —— Windows Compatibility Pack,而该套件包又让 .NET Core 增加了大约 2.1 万个 .NET Framework API。至此,前后大约有 6 万个 API 移植到了 .NET Core。

而在最新发布的 .NET Core 3.0 中,微软又增加了 WPF 和 WinForm,因此将 .NET Framework API 移植到 .NET Core 的总数超过了 12 万,比 .NET Framework API 总数量的一半还多。

微软将不再把 .NET Framework API 移植到 .NET Core 3.0

这里还需要指出的是,微软特意强调他们在 .NET Core 中添加了大约 6.2 万个 .NET Framework 中没有的 API,因此如果仅比较 API 的总数,那么 .NET Core 的 API 数量约占 .NET Framework API 的 80%。