.NET
从 2002
年 2
月份发布第一个版本 1.0
,至今已有 20
年了,大概经历了以下几个阶段:
- 早期
.NET,Only Windows
(全称.NET Framework1.0-4.8.1
,时间 2002.02-2019.04); - 过渡期
.NET
,开源、跨平台(.NET Core1.0-3.1.x
,时间 2016.06.27-2022.12.13); - 当下
.NET(.NET5/6/7+)
统一化、云原生、高性能,其中.NET5
终止于2022
年5
月10
日,.NET6 LTS
版本支持到2024.11.12
,.NET7 RC1
预计2022
年11
月发布正式版。
早期 .NET(.NET Framework 1.0-4.8.1,时间 2002.02-2022.08)
2002 年 2 月 23 日最早的.NET Framework1.0
发布,终止于 2022 年 8 月 9 日发布的.NET Framework
4.8.1 版本。
- 2019 年 4 月 18 日发布
.NET Framework4.8.0
- 2022 年 8 月 9 日发布
.NET Framework4.8.1
.NET Framework
是由微软开发,一个致力于敏捷软件开发(Agile software development
)、快速应用开发(Rapid application development
)、平台无关性和网络透明化的软件开发平台。.NET
是微软为下一个十年对服务器和桌面软件工程迈出的第一步。.NET
包含许多有助于 Internet
和 Intranet 应用
迅捷开发的技术。
.NET Framework
是微软公司继 Windows DNA
之后的新开发平台。.NET Framework
是以一种采用系统虚拟机运行的编程平台,以公共语言运行时(Common Language Runtime)为基础,支持多种语言(C#、VB.NET、C++、J#
等)的开发。
.NET Framework
也为编程界面(API
)提供了新功能和开发工具。这些革新使得程序设计员可以同时进行 Windows
应用软件和网络应用软件以及元件和服务(web service
)的开发。.NET Framework
提供了一个新的反射性的且面向对象程序设计编程界面。.NET Framework
设计得足够通用化从而使许多不同高级语言都得以被汇集。
- .NET Framework(only windows) 架构图
- .NET Framework 与 C# 概述
.NET 基金会成立(2014.03.31)
.NET Foundation 官方地址: https://dotnetfoundation.org/
.NET
基金会(.NET Foundation
)是一个独立的组织,支持 .NET
社区和开源,旨在拓宽和加强 .NET 生态系统和社区。2014 年 3 月 31 日微软组织成立 .NET
基金会,微软在成为主要的开源参与者的道路上又前进了一步。2014 年 .NET
基金会的创始成员中有六位创始人,均非微软公司员工。2019 年 .NET
基金会改选,其中只有一位是微软员工,其他都是微软 MVP 或 .NET 活跃人士。
.NET
基金会的成立,微软在 .NET
项目中的角色从原来的 “管理(独裁)者” 转变为成员 “参与者”,促进社区更佳开放、自由的生态发展。
过渡期 .NET(.NET Core 1.0-3.1.x,时间 2016.06.27-2022.12.13)
2016 年 6 月 27 日.NET Core 1.0
项目正式发布,彻底改变了Windows Only
的场景,拥抱开源、跨平台。
.NET Core
是适用于 Windows
、Linux
和 macOS
的免费、开源托管的计算机软件框架,是微软开发的第一个官方版本,具有跨平台能力的应用程序开发框架 (Application Framework
),未来也将会支持 FreeBSD
与 Alpine
平台,也是微软在一开始发展时就开源的软件平台 [1] ,它经常也会拿来和现有的 开源 .NET 平台 Mono 比较。
由于 .NET Core
的开发目标是跨平台的 .NET 平台,因此 .NET Core
会包含 .NET Framework
的类库,但与 .NET Framework
不同的是 .NET Core
采用包化 (Packages
) 的管理方式,应用程序只需要获取需要的组件即可,与 .NET Framework
打包式安装的做法截然不同,同时各包亦有独立的版本线 (Version line
),不再硬性要求应用程序跟随主线版本。
.NET Core
项目的主要目标有 [2] :
- 支持或可以移转 (
port
) 到更多的操作系统平台与芯片架构 (也就是未来项目会跨出x86
平台)。 - 具有引人注目的性能与高可靠度。
- 开发人员能快速与直接的获取
.NET Core
开发环境。 - 在直觉与具生产力的情况下建造应用程序,使用文件,示例与
NuGet
组件。
当下 .NET(.NET5/6/7+)
.NET 5(非 LTS 版,时间 2020.11.10-2022.05.08)
2020 年 11 月 10 日正式发布 .NET 5 ,终止于 2022年5月10日。该版本当前最新补丁版本为 5.0.12,发布时间为 2021 年 11 月 8 日。
.NET 5 = .NET Core vNext
,NET 5
是 .NET Core
的下一版本。
该项目旨在通过以下几个关键方式改进 .NET
:
- 构建一个可在任何地方(
Any where
)使用的.NET
运行时和框架,并具有统一的运行时行为和开发人员体验。 - 通过充分利用
.NET Core
、.NET Framework
、Xamarin
和Mono
来扩展.NET
的功能。 - 从单个代码库构建该产品,开发人员( Microsoft 和 社区)可以一起工作并一起扩展,从而改进所有方案。
这个新项目和方向是 .NET 的一个重要转折。使用 .NET 5,无论您正在构建哪种类型的应用程序,您的代码和项目文件都将是相同的。每个应用都可以访问相同的运行时、API 和语言功能。也包括几乎每天都在进行的 corefx
的性能改进。
.NET 6(LTS,Long Term Support,时间 2022.09.13-2024.11.12)
2021 年 11 月 8 日,微软正式发布了 .NET 6 及其一系列内容,推出了 C# 10、F# 6 和 PowerShell 7.2,.NET 6 还原生支持了苹果 M1 芯片,将得到三年支持。
.NET 6
是从 .NET 5
开始的 .NET
统一计划的最后部分,在 .NET 历程上具有 里程碑意义。
这种 统一
体现在 ==跨平台、桌面、IoT 和云应用的统一的SDK、基本库和运行时(Runtime)==。 除了这种统一,.NET6
生态系统还提供:
- 简化的开发:入门很简单。 C# 10 中的新语言功能减少了需要编写的代码量。 通过 Web 堆栈 和 最小 API(minAPI) 方面的投资,可以轻松快速编写更小、速度更快的 微服务(Microservice)。
- 更好的性能:
.NET 6
是最快的完整堆栈 Web 框架,如果是在云中运行,则它可以降低计算成本。 - 终极工作效率:
.NET 6
和Visual Studio 2022
提供热重载(Hot Reload
)、新的git
工具、智能代码编辑、可靠的诊断和测试工具,以及更好的团队协作。 - 重要点:.NET 6 将支持三年(2021 年 11 月 8 日到 2024 年 11 月 12 日) ,作为
LTS
(长期) 支持。
2021 年 11 月 8 日的发布是 .NET
团队和社区一年多努力的结果。其中 C# 10
和 F# 6
提供语言改进,使代码更简单、更好。性能有了巨大的提升。.NET 6 首次发布了对本地化 Apple Silicon(Arm64)
的支持,并且还改进了 Windows Arm64
的相关性能。.NET 6
构建了一个新的动态配置文件导向优化 (PGO
) 系统,该系统可提供仅在运行时才可能实现的深度优化。云诊断已改进与 dotnet monitor
和 Open Telemetry
。WebAssembly
支持更有能力、更具有性能。新的 API 已经添加支持 HTTP/3
,处理 JSON
数据,并直接操纵内存。
开发人员已经开始将应用程序升级到 .NET 6
,已在生产方面取得了很大的提升。
您可以下载 ==.NET 6
用于 Linux
、macOS
和 Windows
==。
.NET 7(非 LTS 版, 从正式版发布之日起仅能获得18 个月的免费支持和补丁)
2022 年 2 月17日发布 NET 7.0.0-preview.1,目前最新版是 NET 7.0.0-rc1
.NET 7 RC 1
已通过 Visual Studio 17.4 Preview 2
测试,微软将在 2022 年 11 月 8 日至 10 日的 .NET Conf 2022
上发布 .NET 7 正式版。
.NET 7 RC 1
包含多项改进:
- .NET MAUI:.NET 多平台应用程序 UI (MAUI) 将
Android
、iOS
、macOS
和Windows API
统一到一个 API 中,开发者可以编写一个在多平台上本机运行的应用。作为.NET 7
的一部分,.NET MAUI
提供了一个项目来处理跨设备及其平台的多目标。 - 云原生(Cloud Native):云原生是一组最佳实践,用于在云中构建应用,以利用弹性、可扩展性、效率和速度。
- ARM64:
.NET
可帮助开发者构建在 ARM 设备上运行的应用,.NET 7
将迎来多项改进。 - 现代化:为了使升级体验尽可能无缝,
.NET
升级助手为开发者提供分步指导体验,通过分析和改进项目文件、代码文件和依赖项来现代化.NET
应用。 - 性能:
.NET 7
是目前最快的 .NET。.NET 7
对反射、堆栈替换 (OSR
)、启动时间、本机AOT
、循环优化和许多其他领域进行了超过一千项影响性能的改进。 - 支持:.NET 7 不是长期支持 (
LTS
) 版本,因此在发布之日起仅能获得 18 个月的免费支持和补丁。
.NET 未来发布计划
发布类型
.NET 未来版本将会一直提供 LTS 版 和 非 LTS 版:
- LTS 版本每个版本均可获得三年的补丁更新和免费支持。
- 非 LTS 版可以获得至少 18 个月的补丁更新和免费支持。
- 长期支持(LTS):
LTS 版本在初始发布日期后的三年内受支持。
- 标准期限支持(STS):
STS 版本在后续 STS 或 LTS 版本发布后的六个月内受支持。每 12 个月发布一次,因此 STS 的支持期为 18 个月。
说明:STS
版本以前称为Current
版本。
发布计划
主要 .NET
版本每年 11
月发布一次。每个 .NET
版本在发布开始时都定义为标准期限支持(STS
)或长期支持(LTS
)。
- STS 版本以偶数年为单位发布,LTS 版本以奇数年为单位发布。
- 所有版本的质量完全相同,唯一的区别是支持长度。
- LTS 版本可获得 3 年的免费支持和修补程序。
- STS 版本可获得 18 个月的免费支持和修补程序。
修补程序更新会于每月第二个星期二发布,也称为“修补程序星期二”。在版本的支持生命周期内,系统必须保持已发布补丁更新的最新状态。版本修补程序是兼容的,这消除了对应用程序产生不利影响的风险。
.NET 20th(happy birthday)
今年 2022 年是 .NET 诞生 20 周年,祝 .NET 生日快,.NET 生态开放共赢,与时俱进,蓬勃发展!
- 二十岁的女孩子是美丽的流星划过天际,还是燃烧着的陨石坠落人间,二十岁的年纪,美好的人生才刚刚开始;
- 二十岁,我虽还是万丈红尘中的一颗小小尘埃,可仍会盼望有一天能开出一抹红,在阳光下灿烂;
- 二十岁的女孩是一朵盛开最美丽的花,是一杯清茶其中的清秀一定要留给懂得品尝的人;
20
岁正值年华,20
岁有很多的美好和憧憬,你是否也期待?
关于 .NET
更多信息,请查看:
- .NET | 免费,跨平台,开源 (microsoft.com),https://dotnet.microsoft.com/zh-cn/
- .NET 基金会,https://dotnetfoundation.org/
- .NET 和 .NET Core 支持策略,https://dotnet.microsoft.com/zh-cn/platform/support/policy/dotnet-core
- .NET 支持策略,https://dotnet.microsoft.com/zh-cn/platform/support/policy