.NET 10 预览版 7 增强 ASP.NET Core、Blazor 和 MAUI,并实现 C# 14 的全部功能

  2025 年 8 月 12 日,微软发布了.NET 10 预览版7。这次更新在 ASP.NET Core、C#、.NET MAUI 和 Windows Forms 等方面带来了广泛的改进,标志着向最终版本又迈进了一步。

  ASP.NET Core 引入了一些值得注意的变化。现在,有一个新的配置选项允许开发者抑制异常处理程序诊断信息。按照微软的说法,当某些异常已经被处理并且不应该当成错误记录时,这个功能提供了所需的灵活性。默认行为也做了修改,除非明确配置,否则由 IExceptionHandler 解决的异常将不再产生诊断信息。

  为了更好地提供 API 支持,Cookie 认证也做了调整。现在,如果请求已知 API 端点时缺少认证信息,就会返回 401 或 403 状态码,而不是重定向到登录页面。这与常见的 API 做法一致,并且可以根据需要重写。Passkey 认证也做了改进,简化了 API,为 Blazor Web App 模板提供了更广泛的支持,使得无密码登录场景更容易实现。

  ASP.NET Core 现已全面支持.localhost 顶级域名,使开发者能够运行多个本地应用程序,并且提供了更清晰的域名分离。内置的 Web 服务器 Kestrel 会将地址.localhost 识别为回送地址,确保本地开发的安全性和一致性。此外,该版本在 System.Text.Json 中启用了 PipeReader 支持,改进了性能,同时保持了兼容性。

  Blazor 也有多项改进,包括重命名组件和 API 以提高清晰度,更新指标名称以符合 OpenTelemetry 约定,以及在构建时对 WebAssembly 应用程序中配置的服务进行验证。OpenAPI.NET 集成已经升级到 2.0 稳定版本,提升了 API 文档的稳定性。其他更新包括修正表单数据参数的元数据处理以及提高在 OpenAPI 生成器中合并 XML 文档的可靠性。

  关于 C# 编程语言版本 14,预览版 7 已经提供了全部功能。正如开发团队在发布说明中所说的那样:

预览版 7 标志着 C# 14 的功能已全部实现。任何仅在后续预览版中提供的功能都将通过功能开关进行控制。这可以延长任何额外功能的反馈周期。

  .NET MAUI 引入了一个新的 XAML 源生成器。据报道,它通过在编译时生成强类型代码来提高构建性能和 IntelliSense 支持。MediaPicker 现在会自动处理 EXIF 数据,从而保证正确的图像方向。SafeArea 支持得到了增强,特别是在 iOS 上,改进了默认值,提供了更精确的控制。开发者还可以遵循现代 UI 的惯例访问 iOS 和 macOS 上的辅助工具栏项。它添加了几个新的控件 API,而且,作为持续现代化的一部分,移除了弃用的 API。

  在平台方面,.NET for Android 提供了一些修复,并更新了对 API level 36 的支持,而 .NET for iOS、Mac Catalyst、macOS 和 tvOS 现在支持 Xcode 26 Beta 4 以 .NET 9 为目标。这个版本还改进了绑定生成、运行时性能和平台特有的 API。

  Windows Forms 重点更新了暗模式渲染。它修正了已禁用 ComboBox 和 RichTextBox 控件的背景,并增强了 PropertyGrid 按钮,以确保 UI 质量的一致性。

  据报道,预览版 7 意味着 .NET 10 的开发周期已接近完成,在很大程度上,C# 14 的功能集和框架更新都已经稳定。感兴趣的读者可以查看完整的发布说明。此外,微软官方文档提供了该版本的详细说明、代码示例以及破坏性更改。

  原文链接:https://www.infoq.com/news/2025/08/dotnet-10-preview-7/