什么是.NET?什么是.NET Core?以及什么是.NET Framework,.NET和.NET Core区别又是什么呢?

这篇具有很好参考价值的文章主要介绍了什么是.NET?什么是.NET Core?以及什么是.NET Framework,.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出现之前,微软的应用开发主要运行载体是自家的操作系统,即Windows操作系统。
2002年时,微软发布了.NET框架的早期版本,当前只有一个框架,即.NET Framework。不久之后,微软又发布了.NET 精简版框架(.NET Compact Framework),这是.NET框架的一个子集,适用于更小的设备,特别是Windows移动设备(Windows Mobile)。这个精简版的框架是一个独立于.NET框架的代码库。它包括了整个运行时的垂直结构:运行时、框架和顶部的应用程序模型。

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

什么是.NET?什么是.NET Core?以及什么是.NET Framework,.NET和.NET Core区别又是什么呢?,开发框架基础知识,.net,.netcore,windows

.NET跨平台–.NET Core
早期(.NET Core之前)的.NET应用程序是不跨平台(操作系统的),它只能运行在Windows操作系统上,并且操作系统中还必须安装.NET Framework环境。如果要运行在其他操作系统上,需要借助第三方的框架,比如: Mono—一个开源的第三方.NET Framework框架,它可以运行在Linux和Mac OS操作系统上。

2011年5月,Mono开发者为了使用C#开发跨平台的移动设备应用,成立并发布了Xamarin后于2016年被微软收购,但这只是微软跨平台的第一步,毕竟Xamarin只适合开发移动端应用

随意移动设备迅速占领市场,Windows平台的大势已去。直到.NET Core,.NET才算真正的跨平台,这也是微软重大的战略转变。2014年12月,微软拥抱开源社区,宣布开源了.NET Core的核心代码,也是.NET跨平台迈出的最重要的一步。

经过不断地迭代,2016年6月发布和.NET Core 1.0,2017年3月发布.NET Core1.1.1。

.NET Core是一种模块化实现,可用于各种垂直领域,从数据中心扩展到基于触摸的设备,它是开源的,跨平台的,能在Windows、LinuxMac OSX等操作系统上运行,同时还支持Docker等容器化环境安装和部署。

.NET 5
微软为了统一.NET平台,计划将所有的.NET运行时统一为一个.NET平台,并为所有应用程序模型(如:.NET Core, Windows Forms, WPF, UWP, Xamarin, Blazor)提供统一的基类库(BCL)。在2019年5月6日宣布了.NET 5(.NET Framework与.NET Core合并)将是.NET Core 3.0的下一个主要版本。

2020年3月,微软发布了.NET 5的第一个预览版,并在同年的11月10日发布了.NET 5的第一个正式版。
什么是.NET?什么是.NET Core?以及什么是.NET Framework,.NET和.NET Core区别又是什么呢?,开发框架基础知识,.net,.netcore,windows

.NET生态

以下是一张如今.NET平台的生态示意图:什么是.NET?什么是.NET Core?以及什么是.NET Framework,.NET和.NET Core区别又是什么呢?,开发框架基础知识,.net,.netcore,windows

 

从上面的图表中可以看出,.NET生态系统有三个主要的高级组件——.NET Framework(立足Windows)、.NET Core(PC端的跨平台)和Xamarin(移动端的跨平台)组成。

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

.NET Core:是一个新的、开源的、跨平台框架,它用于构建适用于跨操作系统的应用程序,包括Windows、Mac和Linux。结合C#,它的应用场景也相当广泛,比如:

Xamarin:

用一套代码开发基于Xamarin的支持多端(Windows,Android,iOS)的应用程序;


可以开发基于Blazor的桌面应用;
跨平台的网站应用,Web API应用,微服务;
跨平台的游戏开发Unity,目前应用得非常广泛,像【王者荣耀】这类大型的手游都是使用Unity开发出来的;
基于WPF的桌面应用程序,使用WPF你可以自定义完成超酷的用户交互界面;
物联网
人工智能
机器学习
结论
俗语说:“长江后浪推前浪。”,技术领域也是如此。随着开发技术的不断发展和进步,新技术终将代替老技术。

如果你是一位.NET的初学者,并者没有历史项目(基于.NET Framework框架的项目)的包袱,建议你可以直接从.NET Core(.NET 5)入手学习,因为它具备现代开发技术的绝大多数优点:开源,跨平台,支持容器化部署等。

 


 文章来源地址https://www.toymoban.com/news/detail-735862.html

到了这里,关于什么是.NET?什么是.NET Core?以及什么是.NET Framework,.NET和.NET Core区别又是什么呢?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • C# .NET 7.0和Framework 4.8两个框架的区别

    C# .NET 7.0和Framework 4.8两个框架的区别

    .NET 7.0和Framework 4.8是微软开发的两个不同版本的框架,用于构建和运行应用程序。虽然它们都是用于C#编程语言的,但它们在功能和性能方面有一些区别。 首先,让我们来看一下.NET 7.0的一些新功能和改进。.NET 7.0是.NET的最新版本,它引入了许多新的功能和改进,以提高开发

    2024年02月13日
    浏览(11)
  • 【C#】.Net Framework框架下使用SQLike以及基本概念

    【C#】.Net Framework框架下使用SQLike以及基本概念

    2023年,第32周,第2篇文章。给自己一个目标,然后坚持总会有收货,不信你试试! 在C#的.NET Framework框架下,有很多轻量级数据库选择,比如:SQLike就是其中一款,一起来了解SQLike的简单使用吧。 轻量级数据库是指具有较小的存储需求、资源消耗较低、易于部署和使用的数据

    2024年02月11日
    浏览(8)
  • SpringBoot + RabbitMQ从延时队列中删除指定的值【RabbitMQ中的basicAck和basicNack的区别以及basicReject又是什么?】

    业务需求是,就是我本来是有一个order-queue队列绑定到了死信队列交换机order-dead-direct-exchange上,然后我的业务是,现在有一个用户下单但是没有付款,order-queue队列写入该条信息并计时24小时后如果用户还是未付款状态则移除到死信队列order-dead-queue中。问题来了,如果在这个

    2024年02月16日
    浏览(9)
  • Visual Studio更改并下载.Net Framework目标框架以及Nuget包下载

    Visual Studio更改并下载.Net Framework目标框架以及Nuget包下载

    🌀当使用.net进行开发时,开发的项目与.net framework目标框架会非常密切相关的,所以当vs本地使用的.net framework框架与该项目工程的框架不一致的时候,就可能打开不了当前项目,解决这个问题的方法有: 第一种:要更改目标框架以适应当前VS的; 第二种:或者根据目标框架

    2024年02月05日
    浏览(8)
  • 【后端】Core框架版本和发布时间以及.net 6.0启动文件的结构

    【后端】Core框架版本和发布时间以及.net 6.0启动文件的结构

    2023年,第35周,第1篇文章。给自己一个目标,然后坚持总会有收货,不信你试试! .NET Core 是一个跨平台的开源框架,用于构建现代化的应用程序。它在不同版本中有一些重要的区别和发布时间 下面是主要版本的简要概述: 于2016年发布。 它是.NET Core 的最初版本,提供了跨

    2024年02月11日
    浏览(10)
  • .net core 创建WebAPI以及使用EF DBFirst框架使用方法与疑问解答(.net 6)

    EF语法包: 生成实体模型: 修改实体模型: 把生成的实体和上下文都输出到某个文件夹命令 增加JSON格式脚手架: 若想增加某个版本json脚手架,需要加入后缀如: 问题与解决方案: 1、问题: Your startup project \\\'XXX\\\' doesn\\\'t reference Microsoft.EntityFrameworkCore.Design. This package is requi

    2024年02月16日
    浏览(14)
  • RDIFramework.NET CS敏捷开发框架 V6.0发布(支持.NET6+、Framework双引擎,全网唯一)

    RDIFramework.NET CS敏捷开发框架 V6.0发布(支持.NET6+、Framework双引擎,全网唯一)

    全新RDIFramework.NET V6.0 CS敏捷开发框架发布,全网唯一支持.NET6+,Framework双引擎,降低开发成本,提高产品质量,提升用户体验与开发团队稳定性,做软件就选RDIFramework.NET开发框架。 RDIFramework.NET C/S敏捷开发框架 ,是我司重磅推出的基于.NET的快速信息化系统开发、整合框架,

    2024年02月15日
    浏览(12)
  • 什么是冲突域,什么是广播域?区别又是什么

    什么是冲突域,什么是广播域?区别又是什么

    在传统的以粗同轴电缆为传输介质的以太网中,同一介质上的多个节点共享链路的带宽,争用链路的使用权,这样就会发生信号冲突现象,导致数据无法被转发。这样的一个区域被称为冲突域。   产生条件: 1. 物理介质(同轴电缆,HUB) 2. 共享式网络(同一网段同一局域网

    2024年02月05日
    浏览(16)
  • 【c#,.NET】Entity Framework Core基础详解

    【c#,.NET】Entity Framework Core基础详解

    目录   一、EF Core概述 1.1 什么是ORM?  1.2 EF Core的性能怎么样  二、EF Core入门 2.1 什么是Migration数据库迁移: 2.2  EF Core数据的增删改查 2.2.1 增加数据 2.2.2 查询数据  2.2.3 修改和删除数据 三、EF Core的实体类配置 3.1 约定大于配置 3.2 EF Core两种配置方式 3.2.1 Data Annotation 3.2.2 

    2024年02月04日
    浏览(23)
  • 解决Unity游戏开发使用Visual Studio Enterprise 2022提示未找到目标框架.net framework4.7.1问题

    解决Unity游戏开发使用Visual Studio Enterprise 2022提示未找到目标框架.net framework4.7.1问题

    采用Visual Studio Installer安装Visual Studio Enterprise 2022,安装中勾选游戏下Unity游戏开发。 单个组件中确保勾选.NET Framework 4.7.1目标包 安装位置自定义修改至F盘后使用Visual Studio Enterprise 2022登录,在Unity设置使用Visual Studio Enterprise 2022并打开对应项目文件,提示未找到目标框架.net

    2024年02月10日
    浏览(14)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包