.NET Core是一个免费的开源,一个通用的开发平台,用于在Windows、Linux和macOS操作系统上开发现代的基于云的软件应用。它在多个平台上运行,并进行了改造,使.NET快速、可扩展和现代化。.NET核心是微软的一大贡献,在MIT许可下发布。它提供了以下功能。

  • 跨平台
  • 开放源代码
  • 高性能
  • 多种环境和开发模式等。

.NET 是一个由微软设计和开发的软件框架。.Net框架的第一个版本是2002年的1.0。简单地说,它是一个虚拟机,用于编译和执行用不同语言编写的程序,如C#、VB.Net等。它被用来开发基于表单的应用程序、基于网络的应用程序和网络服务。.Net平台上有多种编程语言,VB.Net和C#是最常见的。它被用来为Windows、移动、网络等建立应用程序。它提供了很多功能,也支持工业标准。.NET框架支持60多种编程语言,其中11种编程语言是由微软设计和开发的。其余的非微软语言是由.NET框架支持的,但不是由微软设计和开发的。

下面是.Net核心和.Net框架之间的差异对比 –

比较项 .NET核心 .NET框架
开放源码 .Net Core是一个开放源码。 .Net框架的某些组件是开源的。
跨平台 本着 “一次构建,随处运行 “的原则工作。它与各种操作系统兼容—Windows、Linux和Mac OS,因为它是跨平台的。 .NET框架与Windows操作系统兼容。虽然,它的开发是为了支持所有操作系统上的软件和应用程序。
应用模式 .Net核心不支持桌面应用程序的开发,而是专注于网络、windows手机和windows商店。 .Net框架用于开发桌面和网络应用,同时它支持windows窗体和WPF应用。
安装 .NET核心是独立于底层操作系统的包装和安装,因为它是跨平台的。 .NET框架是作为Windows操作系统的一个单一软件包安装的。
对微服务和REST服务的支持 .Net Core支持微服务的开发和实现,用户必须为其实现创建一个REST API。 .Net框架不支持微服务的开发和实施,但它支持REST API服务。
性能和可扩展性 .NET核心提供高性能和可扩展性。 在应用程序的性能和可扩展性方面,.Net Framework与.Net Core相比效果较差。
兼容性 .NET Core与各种操作系统兼容 – Windows、Linux和Mac OS。 而.NET框架只与Windows操作系统兼容。
安卓开发 .NET核心通过.NET标准库与开源移动应用平台,即Xamarin,兼容。开发人员使用Xamarin的工具,为特定的移动设备(如iOS、Android和Windows手机)配置移动应用。 .NET框架不支持任何用于移动应用开发的框架。
包装和运输 .Net核心是作为Nugget包的一个集合来运输的。 .Net框架的所有库都是一起打包和运送的。
部署模式 每当启动.NET核心的更新版本时,它就会在一台机器上即时更新,从而在现有应用程序的新目录/文件夹中得到更新而不影响它。因此,.NET核心有一个良好和灵活的部署模式。 在.Net框架的情况下,当更新的版本发布时,它首先只部署在互联网信息服务器上。
CLI工具 .NET核心为所有支持的平台提供轻量级的编辑器和命令行工具。 .Net框架的命令行界面很重,开发人员更喜欢在轻量级的命令行界面上工作。
安全性 .NET核心没有像代码访问安全这样的功能。 代码访问安全功能存在于.NET框架中。

如何使用.NET框架或.NET核心?

在以下情况下,服务器应用程序应使用.NET Core。

  • 有跨平台的需求。
  • 以微服务为目标或使用Docker容器。
  • 需要高性能和可扩展的系统。
  • 每个应用程序需要并列的.NET版本。

在以下情况下,服务器应用程序应使用.NET框架

  • 应用程序只能在Windows上运行。
  • 如果应用程序使用的.NET框架技术不适合于.NET核心。
  • 已经在.NET框架上运行的应用程序。