当前位置: 首页 > news >正文

.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及其后续版本为开发者提供了更为丰富、高效和灵活的开发环境。

相关文章:

  • 人工蜂鸟算法(Artificial Hummingbird Algorithm,AHA)及其Python和MATLAB实现
  • HTML前端 盒模型及常见的布局 流式布局 弹性布局 网格布局
  • Linux下git入门操作
  • springboot在加了mapper之后报错
  • 第六章:支持向量机
  • 国科大作业考试资料-人工智能原理与算法-2024新编-第十二次作业整理
  • opencv 按键开启连续截图,并加载提示图片
  • 论文写作之latex配置(VSCODE+TEXT LIVE)
  • THS配置keepalive(yjm)
  • JAVA用TreeMap实现JSON按字母升序排序
  • MySQL中的DQL
  • 配置sublime的中的C++编译器(.sublime-build),实现C++20
  • C#初级——结构体
  • Linux中的三类读写函数
  • Cannot perform upm operation: connect ETIMEDOUT 34.36.199.114:443 [NotFound]
  • 【Leetcode】101. 对称二叉树
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • css属性的继承、初识值、计算值、当前值、应用值
  • ES6简单总结(搭配简单的讲解和小案例)
  • Fastjson的基本使用方法大全
  • Linux gpio口使用方法
  • SSH 免密登录
  • Vue--数据传输
  • webpack+react项目初体验——记录我的webpack环境配置
  • 基于web的全景—— Pannellum小试
  • 如何进阶一名有竞争力的程序员?
  • 使用parted解决大于2T的磁盘分区
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 微信小程序开发问题汇总
  • 微信小程序--------语音识别(前端自己也能玩)
  • zabbix3.2监控linux磁盘IO
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • # 安徽锐锋科技IDMS系统简介
  • # 利刃出鞘_Tomcat 核心原理解析(二)
  • #stm32驱动外设模块总结w5500模块
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (11)MSP430F5529 定时器B
  • (70min)字节暑假实习二面(已挂)
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (Matlab)使用竞争神经网络实现数据聚类
  • (SpringBoot)第七章:SpringBoot日志文件
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (二)JAVA使用POI操作excel
  • (分布式缓存)Redis持久化
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (每日一问)操作系统:常见的 Linux 指令详解
  • (区间dp) (经典例题) 石子合并
  • (四)activit5.23.0修复跟踪高亮显示BUG
  • (转)【Hibernate总结系列】使用举例
  • (转)Linq学习笔记
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • ***检测工具之RKHunter AIDE
  • .NET6 命令行启动及发布单个Exe文件
  • ??javascript里的变量问题
  • @configuration注解_2w字长文给你讲透了配置类为什么要添加 @Configuration注解