首页 > 自考资讯 > 自考知识

.net和.net core的区别,.net core和.net framework

头条共创 2024-07-05

本文首发于【Mayou.com】--《什么是.NET?什么是.NET Core?.NET和.NET Core区别又是什么呢?》。

概述

对于刚接触.NET 平台的人来说,问“什么是.NET?什么是.NET Core?NET 和.NET Core 有什么区别?”可能会让人感到困惑。事实上,微软当前的开发平台有两种不同的.NET运行环境:NET Framework和.NET Core(.NET 5)。不同的目标框架需要不同的运行环境。

那么两者有什么区别呢?而在开发过程中如何在不同的.NET框架之间进行选择呢?本文将为.NET开发者一一指导。

在讨论.NET 和.NET Core 之间的差异之前,我们首先需要讨论.NET 的历史并了解.NET Core 存在的原因。

.NET Framework简介

在.NET Core 之前,Microsoft 应用程序开发的主要操作载体是其专有操作系统Windows 操作系统。

2002 年,Microsoft 发布了.NET Framework 的早期版本。目前,只有一种框架:NET Framework。不久之后,Microsoft 发布了.NET Compact Framework,它是.NET Framework 的子集,适用于小型设备,尤其是Windows Mobile 设备。该框架的简化版本是独立于.NET Framework 的代码库。这包括整个运行时垂直领域: 运行时、框架以及最重要的应用程序模型。

.NET Framework 是Microsoft 创建的软件框架,主要用于开发在Windows 操作系统上运行的应用程序。它包括多个FCL(Framework Class Library)框架类库,提供多种语言之间的跨语言互操作性。NET Framework 平台上的应用程序在公共语言运行时(CLR) 中运行。 CLR 是一个应用程序虚拟机,提供安全、内存管理和异常处理等服务。因此,使用.NET Framework 编写的计算机代码称为“托管代码”。框架类库(FCL) 和公共语言运行时(CLR) 共同构成了.NET Framework。

775ad559518141a790708745ad13d2fb~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720762627&x-signature=VD2Ne9NFPZsEZlyWaN2oPGnuYG4%3D

.NET跨平台--.NET Core

早期(.NET Core之前).NET应用程序不跨平台(操作系统),只能在Windows操作系统上运行,并且要求操作系统安装有.NET Framework环境。有。系统。要在其他操作系统上运行,必须使用第三方框架,例如: Mono。 Mono 是一个开源第三方.NET Framework 框架,可在Linux 和Mac OS 操作系统上运行。

2011 年5 月,Mono 开发人员创建并发布了Xamarin,用于使用C# 开发跨平台移动设备应用程序。 Xamarin 于2016 年被微软收购。但最终,这只是微软跨平台开发之旅的第一步。 Xamarin仅适合开发移动设备应用程序。

随机移动设备很快占领了市场,Windows 平台宣告终结。直到.NET Core,NET才真正跨平台,这对于微软来说也是一个很大的战略转变。 2014年12月,微软宣布拥抱开源社区,开源.NET Core核心代码。这也是.NET 跨平台最重要的一步。

经过不断迭代,NET Core 1.0于2016年6月发布,NET Core 1.1.1于2017年3月发布。

.NET Core 是一种模块化实现,可用于从数据中心到基于触摸的设备等多种领域,并且是开源、跨平台的,并且可以在Windows、Linux 和Mac OSX 等操作系统上运行。能。等,以及Docker等容器化环境的安装和部署。

.NET 5

为了统一.NET平台,微软将所有.NET运行时统一到.NET平台中,并将其应用于所有应用程序模型(.NET Core、Windows Forms、WPF、UWP、Xamarin、Blazor等),我们正在计划提供给) 集成基类库(BCL)。 2019 年5 月6 日,宣布.NET 5 将成为.NET Core 3.0 的下一个主要版本。

2020年3月,微软发布了.NET 5第一个预览版,并于同年11月10日发布了.NET 5第一个正式版。

d2c213c215d74fcfbe3c4e814e5c34d6~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720762627&x-signature=gVpAkyvyN55BdVAgKSBKXyomVeU%3D

.NET生态

下面是当前.NET平台生态图。

f6b97eb9ebbe4a02907aab59246bfd2f~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720762627&x-signature=vIWvhgNHKhSd2xcV5si38mzn87o%3D从上图可以看出,NET生态系统中有三个主要的高级组件:——.NET Framework、NET Core和Xamarin。

.NET Framework:支持Windows 和Web 应用程序。您可以继续使用.NET Framework 作为目标框架来构建在Windows 操作系统上运行的Winforms、WPF 和UWP 等桌面应用程序,以及基于ASP.NET MVC 的Web 应用程序。

.NET Core:一种新的开源跨平台框架,用于构建跨Windows、Mac 和Linux 等操作系统运行的应用程序。与C#结合,其应用场景也更加广阔:

您可以使用一组代码来开发支持多种设备(Windows、Android 和iOS)的基于Xamarin 的应用程序。基于Blazor 的桌面应用程序支持跨平台游戏开发。如今,像《王者荣耀》这样的所有大型手游都是使用Unity 开发的,而WPF 允许您自定义炫酷的用户交互界面。 1010 有句话叫“长江后浪推前浪”,在科技领域也是如此。由于开发技术的不断发展和进步,新技术最终会取代旧技术。

如果您是.NET 新手,并且没有历史项目(基于.NET Framework 框架的项目)的负担,我们建议直接从.NET Core (.NET 5) 开始。这是因为.NET Core (.NET 5) 具有现代开发功能。技术其大部分优点:开源、跨平台、支持容器化部署等。

版权声明:本文转载于今日头条,版权归作者所有。如有侵权,请联系本站编辑删除。

猜你喜欢