.NET Core 发展历程和版本迭代

.NET Core的发展历程和版本迭代可以归纳如下:

目录

一、起源与发展(2010-2016)

二、成熟与优化(2017-2019)

三、整合与统一(2020至今)

四、版本特性简述

五、版本更新迭代的功能区别

 .NET Core 1.x系列(发布于2016年)

.NET Core 2.x系列(发布于2017年)

.NET Core 3.x系列(发布于2019年)

.NET 5(发布于2020年)

.NET 6(发布于2021年11月)

.NET 7(发布于2023年)


一、起源与发展(2010-2016)

  • 萌芽阶段:.NET Core的萌芽可以追溯到2010年微软内部的“Roslyn”和“CoreFX”项目。Roslyn主要关注编译器和服务端编译技术,而CoreFX则专注于构建一个轻量级、模块化且跨平台的基础类库。

  • 预览版发布:2015年11月,微软正式发布.NET Core 1.0预览版,标志着.NET Framework向跨平台、开源的重大转变。

  • 正式版发布:2016年6月,.NET Core 1.0正式版发布,支持Windows、Linux和Mac OS X操作系统,为开发者提供了一个全新的、高度可移植的应用程序开发模型。

二、成熟与优化(2017-2019)

  • 2.0版本发布:2017年8月,.NET Core 2.0发布,带来了性能大幅提升、兼容性改进以及对.NET Standard 2.0的支持,极大地丰富了开发者的工具箱。

  • LTS版本发布:随着2018年9月.NET Core 2.1 LTS版本的发布,.NET Core进入了长期支持阶段,为企业级应用提供了稳定可靠的选择。

  • 3.0版本预览与发布:同年年底,.NET Core 3.0开始预览,并在2019年9月正式发布。这一版本首次引入对Windows桌面应用的支持,拓宽了其应用场景。

三、整合与统一(2020至今)

  • .NET 5发布:2020年11月,.NET 5发布,它标志着.NET Core与Mono、.NET Framework等其他.NET实现的全面整合,形成了统一的.NET生态体系,提供了一站式的开发体验。

  • 后续版本迭代:至今,.NET Core(现称为.NET)仍在持续发展和完善中,陆续推出了.NET 6、.NET 7等版本。每个版本都带来了性能提升、新特性和工具优化,致力于为开发者带来更高效、灵活、安全的开发环境。

四、版本特性简述

  • .NET Core 1.x系列:提供了跨平台、高性能和轻量级的开发体验,是.NET Core的初步尝试。

  • .NET Core 2.x系列:带来了更好的性能、更强大的开发工具和更广泛的平台支持,同时加强了与.NET Framework的兼容性。

  • .NET Core 3.x系列:引入了支持Windows桌面应用程序开发、WPF和Windows Forms的现代化和改进、C# 8.0的语言特性等,并推出了长期支持版本.NET Core 3.1。

  • .NET 5(里程碑):集成了.NET Framework和.NET Core的功能,成为单一的统一平台,提供了更高的性能、更多的可选组件和更广泛的支持。

  • .NET 6及后续版本:在性能和功能上持续优化,支持多种操作系统和平台,引入了新的语言特性和框架组件,如MAUI(Multi-platform App UI)框架用于构建跨平台的本机应用程序。

五、版本更新迭代的功能区别

 .NET Core 1.x系列(发布于2016年)

  • 主要特性:这是.NET Core的最初版本,提供了跨平台、高性能和轻量级的开发体验。

  • 限制与局限性:由于初始版本的限制和局限性,这个系列不再得到维护和支持。

.NET Core 2.x系列(发布于2017年)

  • 重要改进
    • 带来了更好的性能、更强大的开发工具和更广泛的平台支持。
    • 加强了与.NET Framework的兼容性,并引入了ASP.NET Core 2.x,用于构建Web应用程序。

.NET Core 3.x系列(发布于2019年)

  • 新特性
    • 支持Windows桌面应用程序开发、WPF和Windows Forms的现代化和改进。
    • 引入了C# 8.0的语言特性。
    • 引入了新的.NET Core 3.1版本,作为一个长期支持(LTS)版本。

.NET 5(发布于2020年)

  • 里程碑版本
    • 汇集了.NET Framework和.NET Core的功能,并成为一个单一的统一平台。
    • 旨在提供更高的性能、更多的可选组件和更广泛的支持。

.NET 6(发布于2021年11月)

  • 主要更新
    • 支持多种操作系统和平台,包括Windows、macOS和Linux。
    • 提供了对Web、移动和云等应用程序类型的支持。
    • 引入了新的语言特性、增强的工具和框架组件来构建高性能和现代化的应用程序。
    • 引入了新的MAUI(Multi-platform App UI)框架,用于构建跨平台的本机应用程序。

.NET 7(发布于2023年)

  • 关键亮点
    • 性能改进,使开发人员能够高效地使用有史以来最快的.NET版本。
    • 改进了.NET MAUI,增强了对ARM64上.NET应用程序的支持。
    • 开发人员能够轻松构建具有.NET SDK的内置容器支持、Microsoft Orleans 7.0和可观测性集成等功能的新式云原生应用。
    • C# 11和F# 7中的新增功能简化了开发人员体验。
  • 总结

    从.NET Core 1.x到.NET 7,每个版本都在不断地增强功能、提升性能和扩展跨平台支持。从最初的基础框架到支持多种应用类型和平台,再到引入新的编程特性和工具,.NET Core及其后续版本为开发者提供了更为丰富、高效和灵活的开发环境。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/50450.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jenkins删除历史构建记录

1、 登录jenkins,进入【Manage Jenkins】-【Script Console】,输入: def jobName "Test" //删除的项目名称 def maxNumber 60 // 保留的最小编号,意味着小于该编号的构建都将被删除 Jenkins.instance.getItemByFullN…

mybatis 多数据源 TDataSource required a single bean, but 2 were found

情况说明: 项目中本来就有一个数据源了,运行的好好的后来又合并了另一个项目,另一个项目也配置了数据源。 于是出现了如下错误: mybatis 多数据源 TDataSource required a single bean, but 2 were found 解决方法&#xff1a…

CSS前端面试题——怎么用CSS实现一个宽高自适应的正方形?

方法一:使用 padding 方案 这种方法通过设置元素的 padding 属性来实现宽高比例相等的正方形。假设我们希望正方形的边长为相对于父容器的百分比值,比如50% .square {width: 50%; /* 可以是任意宽度,这里假设为父元素宽度的50% */padding-t…

【深度学习】语音合成,TTS,ChatTTS项目体验

项目: https://github.com/2noise/ChatTTS/blob/main/README.md 这个fork项目不错: https://github.com/Jackiexiao/ChatTTS-api-ui-docker docker run \--gpus all --ipchost \--ulimit memlock-1 --ulimit stack67108864 \-p 8080:8080 -p 8501:850…

【反证法】932. 漂亮数组

本文涉及知识点 分治 数学 反证法 LeetCode932. 漂亮数组 如果长度为 n 的数组 nums 满足下述条件&#xff0c;则认为该数组是一个 漂亮数组 &#xff1a; nums 是由范围 [1, n] 的整数组成的一个排列。 对于每个 0 < i < j < n &#xff0c;均不存在下标 k&#x…

Python练手小项目

计算器 创建一个简单的计算器&#xff0c;能够进行加、减、乘、除四种基本运算。 # 定义加法函数 def add(x, y):return x y# 定义减法函数 def subtract(x, y):return x - y# 定义乘法函数 def multiply(x, y):return x * y# 定义除法函数 def divide(x, y):if y 0:return…

华为Ascend C算子开发(中级)考试

华为Ascend C算子开发&#xff08;中级&#xff09;考试题 提示&#xff1a;这个是河北廊坊Ascend C算子开发考试题和答案&#xff0c;仅供参考&#xff0c;因为不确定其他城市的考试题是否也是一样 文章目录 华为Ascend C算子开发&#xff08;中级&#xff09;考试题一、op_ho…

kafka源码阅读-Broker如何处理生产者的消息写入请求

概述 Kafka源码包含多个模块&#xff0c;每个模块负责不同的功能。以下是一些核心模块及其功能的概述&#xff1a; 服务端源码 &#xff1a;实现Kafka Broker的核心功能&#xff0c;包括日志存储、控制器、协调器、元数据管理及状态机管理、延迟机制、消费者组管理、高并发网络…

端到端自动驾驶科普向

从设计思想看&#xff0c;自动驾驶系统分为模块化和黑箱化两个大类。前者将系统分解为一系列功能独立的模块&#xff0c;每一个模块单独设计&#xff0c;组合到一起实现自动驾驶功能&#xff08;我们熟知的定位 感知 规划 控制 决策等模块&#xff09;&#xff1b;后者又称为端…

Python爬虫技术 第13节 HTML和CSS选择器

在爬虫技术中&#xff0c;解析和提取网页数据是核心部分。HTML 和 CSS 选择器被广泛用于定位网页中的特定元素。下面将详细介绍这些选择器如何在 Python 中使用&#xff0c;特别是在使用像 Beautiful Soup 或 Scrapy 这样的库时。 HTML 选择器 HTML 选择器基于 HTML 元素的属性…

基于微信小程序+SpringBoot+Vue的美食推荐平台(带1w+文档)

基于微信小程序SpringBootVue的美食推荐平台(带1w文档) 基于微信小程序SpringBootVue的流浪动物救助(带1w文档) 当微信小程序占领了多半江山&#xff0c;目前不分年龄和种族&#xff0c;使用频率最高&#xff0c;覆盖面积最广。使用人群使用的大多数都是微信小程序。目前国内最…

Kithara和Halcon (二)

Kithara使用Halcon QT 进行二维码实时识别 目录 Kithara使用Halcon QT 进行二维码实时识别Halcon 简介以及二维码检测的简要说明Halcon 简介Halcon的二维码检测功能 Qt应用框架简介项目说明关键代码抖动测试测试平台&#xff1a;测试结果&#xff1a; 开源源码 Halcon 简介以…

STM32CubeMX的介绍与简单使用

STM32CubeMX提供了一个直观的图形用户界面&#xff0c;允许用户通过简单的操作完成对STM32微控制器的配置&#xff0c;包括引脚分配、时钟配置、外设初始化等。专为STM32微控制器设计&#xff0c;旨在帮助开发者轻松配置和初始化STM32微控制器。用户可以通过拖拽和连接来配置芯…

关键词查找【Aho-Corasick 算法】

【全程干货】程序员必备算法&#xff01;AC自动机算法敏感词匹配算法&#xff01;动画演示讲解&#xff0c;看完轻松掌握&#xff0c;面试官都被你唬住&#xff01;&#xff01;_哔哩哔哩_bilibili 著名的多模匹配算法 引入依赖&#xff1a; <dependency><groupId>…

Vue3 Pinia/组件通信

2. pinaia 符合直觉的Vue.js状态管理库 集中式状态&#xff08;数据&#xff09;管理 官网 2.1 搭建pinaia环境 第一步&#xff1a;npm install pinia 第二步&#xff1a;操作src/main.ts import { createApp } from vue import App from ./App.vue/* 引入createPinia&…

37 Debian如何配置GlusterFS 10

作者:网络傅老师 特别提示:未经作者允许,不得转载任何内容。违者必究! Debian如何配置GlusterFS 10 《傅老师Debian知识库系列之37》——原创 ==前言== 傅老师Debian知识库特点: 1、拆解Debian实用技能; 2、所有操作在VMware虚拟机实测完成; 3、致力于最终形成Debian…

Java面试八股之什么是声明式事务管理,spring怎么实现声明式事务管理?

什么是声明式事务管理&#xff0c;spring怎么实现声明式事务管理&#xff1f; 声明式事务管理是一种编程范式&#xff0c;它允许开发人员通过声明性的配置或注解&#xff0c;而不是硬编码事务处理逻辑&#xff0c;来指定哪些方法或类应该在其上下文中执行事务。这种方法将事务…

13.CSS 打印样式表 悬停下划线动画

CSS 打印样式表 虽然我们不经常从网上实际打印内容,但打印样式表不应被忽视。它们可以用来确保你的网站内容以一种易读和适合打印的方式呈现。这里有一个简单的、独特的打印样式表,你可以用它作为自己的基础: media print {page {size: A4;}body {margin: 0;padding: 0;}body, …

【PHP】系统的登录和注册

一、为什么要学习系统的登录和注册 系统的登录和注册可能存在多种漏洞&#xff0c;这些漏洞可能被恶意攻击者利用&#xff0c;从而对用户的安全和隐私构成威胁。通过学习系统的登录和注册理解整个登录和注册的逻辑方便后续更好站在开发的角度思考问题发现漏洞。以下是一些常见…

Linux取消U盘自动挂载

Ubuntu 或其他GNOME桌面环境 打开“设置”&#xff1a; 点击桌面右上角的系统菜单&#xff0c;然后点击“设置”。 找到“可移动媒体”&#xff1a; 在设置窗口中&#xff0c;点击左侧的“可移动媒体”选项&#xff08;有些版本中&#xff0c;这个选项可能在“设备”或“文件”…