
.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 Framework4.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