NetCore与NetFramework主要差异:
应用模型 -- .NET Core 不支持所有 .NET Framework 应用模型,某种程序上是因为其中许多模型都是基于 Windows 技术,如 WPF(基于 DirectX 生成,听说netcore3.0会支持)。 但 .NET Core 和 .NET Framework 两者都支持控制台和 http://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 的焦点是云工作负荷。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。