Lapple
发布于 2024-12-03 / 16 阅读
0

.NET Framework、.NET Core 、 .NET 5、.NET 6、7 、8 、9区别

#C#

简述

从.NET Framework到.NET 9的演变历程,揭示每个版本的特色和区别。

.NET Framework

.NET Framework是一个专为Windows设计的成熟框架。虽然它不能在其他操作系统上运行,但它为Windows应用提供了坚实的基础。

.NET Core:跨平台的开拓者

.NET Core的诞生标志着.NET走向跨平台的第一步。它支持Windows、Linux和macOS,由Core FX类库和Core CLR等项目构成。.NET Core 3.1作为长期支持版本,提供了广泛的平台和CPU架构支持。

示例代码:

// .NET Core 3.1跨平台控制台应用示例
Console.WriteLine("Hello, .NET Core World!");

.NET 5:新时代的曙光

.NET 5跳过了4.x版本号,不仅为了避免与.NET Framework混淆,也因为它是.NET未来的主要实现。它不替换.NET Framework,而是与其共存,引入了对更多应用和平台的支持。

.NET 6:统一的里程碑

.NET 6实现了.NET统一计划的最终目标,统一了SDK、基础库和运行时。它在简化开发、提升性能和工作效率方面做出了显著改进,并支持macOS Arm64和Windows Arm64。

示例代码:

// .NET 6使用C# 10的全局using指令
using System;
 
public static async Task Main(string[] args)
{
    Console.WriteLine("Hello, .NET 6 World!");
}

.NET 7:性能与现代性的融合

.NET 7进一步提升了性能,支持C# 11和F# 7,带来了.NET MAUI等现代框架。它使得容器化、CI/CD工作流和云原生可观察性变得轻松。

.NET 8:2021年发布

原生编译、值类型 (Value Types)、结构化并发 (structured concurrency) 和快速数组 (RapidArray)。.NET 8 还支持本机 (native) AOT (Ahead-Of-Time) 编译,以提高性能和启动速度

.NET 9:2024年发布

性能提升:全面提升性能,降低内存使用。安全性增强:显著的安全性改进。AI 支持:轻松将 AI 集成到应用程序中。全面改进:涵盖编程语言、开发工具和工作负载,提供统一的开发平台。

C# 语言版本

C#版本

.NET 版本

Visual Studio 版本

特性描述

  C#     1.0/1.2     

.NET Framework1.0/1.1

  Visual Studio    2002/2003   

C#第一个正式发行版,专为.NET编程提供支持

C# 2.0

.NET Framework 2.0

Visual Studio 2005

C#语言开始支持泛型,.NET Framework 2.0新增了支持泛型的类库

C# 2.0

.NET Framework 3.0

Visual Studio 2005

.NET Framework 3.0新增了支持分布式通信框架WCF,富客户端框架WPF,工作流WF以及基于Web身份验证(Cardspaces)

C# 3.0

.NET Framework 3.5

Visual Studio 2008

增加了对LINQ的支持,对于集合编程API进行了大幅改进,.NET Framework 3.5对原有类库进行了扩展

C# 4.0

.NET Framework 4.0

Visual Studio 2010

添加了动态类型(dynamic)的支持,对用于多线程的API进行了大幅改进。强调了多处理和多核心支持

C# 5.0

.NET Framework 4.5

Visual Studio 2012

主要对异步编程进行了增强(async和await)

C# 6.0

.NET Framework 4.6

Visual Studio 2015

字符串插值、默认值属性、静态 usings

C# 7.x

.NET Framework 4.6.2+

Visual Studio 2017

模式匹配、元组、局部函数

C# 8.0

.NET Core 3.0+、.NET Framework 4.8

Visual Studio 2019

可空引用类型、异步流、switch表达式

C# 9.0

.NET 5.0

Visual Studio 2019

记录类型、init访问器、功能增强

C# 10.0

.NET 6.0

Visual Studio 2022

文件范围的命名空间、全局 usings、记录结构

C# 11.0

.NET 7.0

Visual Studio 2022

原生字面量、泛型参数修饰符

C# 12.0

.NET 8.0

Visual Studio 2022

C# 13.0

.NET 9.0

Visual Studio 2022 17.11