.NET发展历程_net发展历程

一、.NET发展历程概览

1. 早期阶段:.NET Framework(2002-2019)

  • .NET Framework 1.0-4.8:仅支持Windows平台,闭源。
    • 里程碑版本
      • 2.0(2005):引入泛型、ASP.NET MVC雏形,奠定CLR基础架构。
      • 3.0(2006):新增WPF、WCF、WF,革新桌面开发生态。
      • 4.0(2010):并行计算支持、动态语言运行时(DLR)。
      • 4.8.1(2022):最后更新,仅安全补丁,无功能升级。

2. 过渡阶段:.NET Core(2016-2022)

  • 开源跨平台:支持Linux/macOS/Windows。
    • 关键版本
      • 1.0(2016):最小模块化设计,轻量级Web应用。
      • 3.1(2019 LTS):首个长期支持版,集成ASP.NET Core和EF Core。

3. 统一阶段:.NET 5+(2020至今)

  • 合并框架:整合.NET Framework、.NET Core、Xamarin。
    • 版本路线

版本

类型

支持截止

关键特性

.NET 5

STS

2022-05

跨平台统一模型

.NET 6

LTS

2024-11

原生AOT、热重载、Apple M1支持

.NET 7

STS

2024-05

最小API、容器优化

.NET 8

LTS

2026-11

AI工具链、Blazor全栈渲染

.NET 11

LTS

2027-11(计划)

下一代云原生优化


二、核心版本特性演进

1. .NET Framework → .NET Core的质变

  • 跨平台:从Windows独占扩展至Linux/macOS(.NET Core起)。
  • 性能提升:Kestrel服务器取代IIS,吞吐量提升40%+。
  • 依赖管理:SDK风格项目文件(.csproj简化)替代packages.config。

2. 现代.NET(.NET 5+)的核心创新

  • 原生AOT:生成无运行时依赖的独立可执行文件,启动速度提升60%。
  • 云原生集成
    • 容器化支持(Docker/K8s深度优化)。
    • 微服务架构(gRPC、OpenTelemetry内置)。
  • 全栈Web:Blazor支持WebAssembly与服务器双模式。

三、版本支持策略

支持类型

周期

适用版本

LTS(长期支持)

3年

.NET 6、.NET 8、.NET 11

STS(标准支持)

18个月

.NET 5、.NET 7

企业建议:生产环境优先选择LTS版本(如.NET 8),非关键业务可尝试STS获取最新特性。


四、安装与多版本管理

  1. 运行时选择
    • 基础运行时:控制台应用(dotnet-runtime)。
    • 桌面运行时:WPF/WinForms(dotnet-desktop-runtime)。
    • ASP.NET运行时:Web应用(aspnet-runtime)。
  1. 多版本共存
    • 使用dotnet-install.sh脚本管理多版本。
    • 命令行工具:

dotnet --list-sdks # 查看已安装SDK dotnet --version # 查看当前默认版本

  1. IDE支持
    • Visual Studio 2022:需勾选对应工作负载(如“.NET桌面开发”)。
    • VS Code:安装C#扩展 + .NET SDK。

五、迁移建议与工具

  • 何时迁移?
    • .NET Framework 4.8仍可维护,但新项目必须用.NET 6+。
    • 旧系统迁移推荐路径:.NET Framework → .NET 6/8。
  • 迁移工具
    • .NET Upgrade Assistant:自动化转换项目文件、替换废弃API。
    • 兼容性检查

# 检查.NET Framework版本 (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full').Release -ge 528040


总结建议

  1. 技术选型
    • 新项目:直接采用.NET 8(LTS),拥抱云原生与高性能。
    • 旧系统迁移:利用.NET Upgrade Assistant逐步升级。
  1. 学习重点
    • 掌握跨平台开发(ASP.NET Core + Docker)。
    • 深入性能优化(原生AOT、异步编程模型)。
原文链接:,转发请注明来源!