.Net Framework是由技术巨头Microsoft设计和维护的软件开发框架。它基于Windows,主要在Windows设备上运行。 它用于开发独立的桌面以及Web应用程序。 该框架提供了应用程序开发的所有基本要求:UI,数据库连接,服务,API等。另一方面,.Net Core是一个平台,而不是完整的框架。 简而言之,.Net Core是.Net Framework的子集。 更准确地说是.Net Framework的分支版本。
现在您可能想知道,当.Net Core只是.Net Framework的一个子集时,那么为什么还要单独提出? .Net核心对其操作方式进行了一些根本性的更改。 首先,它更加模块化。 这可以帮助您仅使用所需的库而无需额外负担来创建应用程序。 其次,它确实是跨平台的。 这使其成为未来开发平台的选择。

.Net Core和.Net Framework的主要区别

让我们讨论一下.Net Core与.Net Framework之间的一些主要区别:
.Net Framework是由技术巨头Microsoft设计和维护的软件开发框架。 它基于Windows,主要在Windows设备上运行。 它用于开发独立的桌面以及Web应用程序。 该框架提供了应用程序开发的所有基本要求-UI,数据库连接,服务,API等。
.Net Core是由Microsoft和.Net社区设计和维护的开源开发平台。 .Net Core的设计考虑了各种需求和目的,着重于Web开发,Windows Phone开发和Windows Store Apps开发。
它们都共享一组通用的库,对于任何应用程序的运行都是必不可少的。 这些包括运行时库、编译器库、数据类型等。这些公共库包含所有原始内容的定义。 这几乎没有改变,因此是所有 .Net 堆栈框架的基础。
设计 .Net Core,牢记未来的需求。它是跨平台兼容的、重量轻的、小包装的,没有额外的行李,并且随着时间的推移易于升级。 .Net Framework 更专注于提供一个完整的包来使用和创建应用程序,从而减轻开发人员为工作寻找合适的库而头疼的问题。

什么时候使用 .Net Core或/.Net Framework?

常见的一个问题是:何时真正使用 .Net Framework 以及何时使用 .Net Core ?
简而言之,如果您的应用程序必须从头开始构建,请选择 .Net Core,因为它是未来的设计。 但是,如果它已经存在并且您计划迁移到 .Net Core,则必须分析使用的所有库以及 .Net Core 是否支持它们。 此外,如果应用程序在 .Net Framework 中稳定且没有重大升级计划,那么迁移到 .Net Core 似乎没有什么意义。

.Net Core 与 .Net Framework 对比表

让我们讨论 .Net Core 与 .Net Framework 之间的最高比较:

对比项 .Net Framework .Net Core
平台或框架 .Net Framework 是一个成熟的开发框架。该框架提供了应用程序开发的所有基本要求——UI、数据库连接、服务、API 等。 .Net Core 是一个平台,在其之上有 ASP .Net Core 和通用 Windows 平台等框架,它们利用和扩展 .Net Core 的功能。
开源 .Net Framework不是开源的,它更像是一个社区开发的软件项目。 .Net Core 是开源的。
跨平台 虽然 .Net Framework 旨在为所有操作系统开发软件和应用程序,但它最终偏向于 Windows。因此,.Net Framework 主要用于开发基于 Windows 的应用程序。 .Net Core 遵循 build-once-run-anywhere 的原则。因此,它是跨平台的。它支持 Windows、MacOS 和 Linux 平台。可以在任何平台上构建您的应用程序并在另一个平台上运行它。
应用程序类型 .Net Framework 用于构建桌面和 Web 应用程序。Windows 窗体和 WPF 应用程序得到很好的支持。 .Net Core 更侧重于 Web、Windows Mobile 和 Windows Store 应用程序。目前,它不支持桌面应用程序开发。
包和传输 .Net Framework 被打包为一个整体。所有的库都捆绑在一起并一起发货。即使应用程序不需要任何库,它仍然是包的一部分。 .Net Core 作为一组 NuGet 包提供。它已被分解、模块化并作为几个 NuGet 包提供。尽管通用运行时库仍然是捆绑包的一部分,但开发人员可以根据需要自由选择包含其他库。这使得 .Net Core 非常轻量级,没有额外的包。
支持微服务 .Net Framework 不支持创建和部署不同语言的微服务。 .Net Core 支持微服务, .Net Core 允许混合使用可以为每个微服务最小化的技术。
对 WCF/REST 服务的支持 当涉及 WCF 服务时,.Net Framework 是一个很好的选择,它还支持 REST 服务。 .Net Core 不支持 WCF 服务,总是需要创建一个 REST API。
CLI Tools .Net Framework 对于命令行界面来说太重了。一些开发人员更喜欢使用 CLI 而不是 IDE。 .Net Core 支持适用于所有平台的非常轻量级的 CLI。也总是可以选择切换到 IDE。

结论

现在我们都知道, .Net Core 只是 .Net Framework 的一个子集。.Net Core 的运行方式发生了一些根本性的变化。 首先,它更加模块化。 这可以帮助您创建仅包含需要的库且没有额外负担的应用程序。 其次,.Net Core 是真正的跨平台。 这使其成为未来开发平台的选择。

欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:.Net Core和.Net Framework的区别
本文链接:https://www.vsdiffer.com/vs/dot-net-core-vs-dot-net-framework.html
免责声明:以上内容仅是站长个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。