14
2021
10

NetCore与NetFramework、Mono的主要差异

江先生江先生    https://zhuanlan.zhihu.com/p/36818627

NetCore与NetFramework主要差异:

  • 应用模型 -- .NET Core 不支持所有 .NET Framework 应用模型,某种程序上是因为其中许多模型都是基于 Windows 技术,如 WPF(基于 DirectX 生成,听说netcore3.0会支持)。 但 .NET Core 和 .NET Framework 两者都支持控制台和 ASP.NET Core 应用模型。

  • API -- .NET Core 包含很多与 .NET Framework 相同,但数量较少的 API,并且具有不同的组成要素(程序集名称不同;关键用例中的类型形状不同)。 目前,这些差异通常都需要更改,以将源移植到 .NET Core。 .NET Core 实现 .NET 标准 API,随着时间的推移,将包含更多 .NET Framework BCL API。

  • 子系统 -- .NET Core 实现 .NET Framework 中子系统的子级,目的是实现更简单的实现和编程模型。 例如,不支持代码访问安全性 (CAS),但支持反射。

  • 平台 -- .NET Framework 支持 Windows 和 Windows Server,而 NET Core 还支持 macOS 和 Linux。

  • 开放源 -- .NET Core 属于开放源,而 .NET Framework 的只读子集属于开放源。

NetCore与Mono主要差异:

  • 应用模型 -- Mono 通过 Xamarin 产品支持 .NET Framework 应用模型(例如,Windows Forms)和其他应用模型(例如,Xamarin.iOS)的子集。而 .NET Core 不支持这些内容。

  • Mono 使用相同程序集名称和组成要素支持 .NET Framework API 的大型子集

  • Mono 支持很多平台和 CPU。

  • Mono 和 .NET Core 两者都使用 MIT 许可证,且都属于 .NET Foundation 项目。

  • 最近几年,Mono 的主要焦点是移动平台,而 .NET Core 的焦点是云工作负荷。


« 上一篇下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。