微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章

2025年2月25日,.NET团队在博客上宣布了.NET 10 Preview 1的正式发布,文章参见:https://devblogs.microsoft.com/dotnet/dotnet-10-preview-1/,标志着.NET框架在跨平台开发领域迈出了重要一步。这一新版本在.NET Runtime、SDK、库、C#、ASP.NET Core、Blazor以及.NET MAUI等多个方面带来了重大改进和强。作为.NET 9的继任者,本次预览版延续了性能优化与AI集成的核心方向,同时为开发者带来更多前瞻性功能。这一跨平台开源框架的最新迭代集成了前沿的AI工具链、深度云原生优化,以及突破性的性能提升,为全球超过500万.NET开发者带来技术新范式。

.NET 10 Preview 1的主要亮点包括:

库增强:

  • 提供了通过非SHA-1的指纹查找证书的功能,支持在ASCII/UTF-8中查找PEM编码的数据。
  • 为DateOnly类型的ISOWeek添加了新方法重载,引入了处理字符跨度(Span of Characters)的字符串规范化API,以及用于字符串比较的数字排序功能。
  • 改进了ZipArchive的性能和内存使用,为OrderedDictionary<TKey, TValue>添加了更多的TryAdd和TryGetValue重载,并增加了左撇子矩阵变换方法。

运行时优化:

  • 引入了数组接口方法的去虚拟化,支持值类型数组的栈分配,并增加了对AVX10.2的支持。

SDK改进:

  • 对框架提供的包引用进行了修剪,提高了构建效率和兼容性。

C#语言更新:

  • 在未绑定泛型中支持nameof,实现了隐式范围转换,增加了基于字段的属性支持,允许在简单lambda参数上使用修饰符,并引入了实验性功能------数据段中的字符串字面量。

ASP.NET Core & Blazor:

  • 支持OpenAPI 3.1,能够以YAML格式生成OpenAPI文档,改进了与顶级语句应用的集成测试,并为Blazor脚本添加了静态Web资产支持。

.NET MAUI质量提升:

  • 专注于.NET MAUI的质量改进,包括CollectionView在iOS和Mac Catalyst上的增强。

Android、iOS、macOS和tvOS支持:

  • 增加了对Android 16(Baklava)Beta 1的支持,改进了与JDK-21的兼容性,并默认启用了trimmer警告。

Windows Forms和WPF:

  • Windows Forms方面,对剪贴板相关的序列化和反序列化进行了更改,并引入了新的剪贴板API。WPF则专注于质量改进,详细变化可参考发布说明。

Entity Framework Core:

  • 支持.NET 10的LeftJoin操作符,ExecuteUpdateAsync现在接受普通的非表达式lambda。

.NET 10 Preview 1的安装与体验

为了体验.NET 10 Preview 1带来的新特性和改进,用户可以下载并安装.NET 10 SDK:https://dotnet.microsoft.com/download/dotnet/10.0。对于使用Windows和Visual Studio的开发者,建议安装最新的Visual Studio 2022预览版。此外,Visual Studio Code和C# Dev Kit扩展也支持.NET 10。

微软还邀请开发者参加.NET 10 Preview 1的开箱直播活动,与团队一起探讨这一预览版的新功能,并观看开发团队的现场演示。

.NET 10的未来发展

微软团队将继续在dotnet/core GitHub Discussions上发布月度公告和完整的发布说明,并与社区保持密切互动,收集反馈意见。开发者可以通过订阅GitHub Discussions RSS新闻源来获取.NET 10的最新动态,并前往.NET 10 Preview 1 GitHub Discussion讨论新功能并提供反馈。

随着.NET 10 Preview 1的正式发布,跨平台开发领域将迎来更加广阔的发展前景。我们期待开发者们能够充分利用这一新版本带来的优势,构建出更加高效、强大和现代化的应用程序。