.NET核心和.NET框架的区别
.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框架上运行的应用程序。