微软发布了.NET 11 Preview 7,包含大量.NET MAUI 更新,主要包括跨平台的 Passkeys 认证、新的增量 XAML 热重载(Hot Reload)实现、Shell 路由模板以及额外的 AOT 安全绑定。该发布版本同时继续推动 MAUI 从传统渲染器向 handlers 迁移,并改善在 Android 和苹果平台上的开发工作流。
其中最显著的新增特性是 MAUI Essentials 中的Passkeys API。它在 Android 14 及更高版本、iOS 与 Mac Catalyst 16 及更高版本以及受支持的 Windows 10 版本上会驱动原生的 Passkey 体验。应用可以使用Passkeys.CreateAsync注册凭证,使用Passkeys.AssertAsync进行认证,Passkeys.IsSupported用于检测底层平台是否支持该 API。
该 API 负责处理平台侧的WebAuthn流程,但刻意将服务器端的责任留给了应用程序。依赖方(relying-party)服务器仍需生成 challenge、提供标准 WebAuthn 选项并验证返回的断言(assertion)或证明(attestation)。应用还需要适当的信任配置,包括苹果平台上的Associated Domains和 Apple App Site Association 文件,或 Android 上的Digital Asset Links。
Preview 7 还将XAML增量热重载(Hot Reload)作为预览功能引入,并在 Debug 构建中默认启用。该实现通过源生成器与MetadataUpdateHandler结合,对已创建的页面进行修改,而无需整体重建 XAML。它能处理属性变化、添加或移除子项、结构重排序、附加属性、标记扩展、绑定以及ResourceDictionary的更改,同样适用于dotnet watch。开发者可通过EnableMauiIncrementalHotReload禁用该功能并回退到现有的热重载路径。
Shell 导航获得了基于 ASP.NET Core 和 Blazor 路由概念的路由模板。路由现在可以包含必需、可选、默认、约束、catch-all 和混合段,例如,product/{sku}。参数值通过现有的QueryProperty和IQueryAttributable机制传递。不过,模板路由目前仅支持绝对导航,不支持相对导航。
XAML 源生成器在 AOT 方面的工作也得到了扩展。当 MAUI 能够在编译时解析 Ancestor 类型时,{RelativeSource AncestorType=...}绑定现在可以编译为对裁剪安全的TypedBinding实例,避免基于反射的字符串路径在裁剪时导致成员丢失。一些绑定形式,包括Self和TemplatedParent,仍然使用运行时路径。
此外,Preview 7 暴露了面向第三方平台后端的扩展点。OnPlatform现在能够识别 GTK、macOS 和 WPF,同时 alert、gesture、Resizetizer、SingleProject 以及BlazorWebView基础设施公开了外部后端可以通过 NuGet 包实现的契约,而无需对 MAUI 本身维护补丁。
在苹果平台上,渲染器(renderer)到 handler 的迁移仍在继续。在 iOS 和 Mac Catalyst 上,NavigationPage和TabbedPage现在默认使用handlers,以替代旧的渲染器实现。兼容性的渲染器仍然会作为手动回退方案提供,因此使用自定义渲染器或做了大量页面级自定义的应用在广泛采用 Preview 7 之前应该要进行测试。
平台特定更新包括Window.StatusBarTheme、直接将捕获媒体保存到系统相册的选项,以及 Windows 上的单实例激活支持。Android 开发默认采用新的FastDeploy2策略,而dotnet watch现在可以通过 USB 或 Wi-Fi 对运行在物理 iOS 和 tvOS 设备上的应用进行热重载。
.NET 11 Preview 7 于 2026 年 8 月 11 日发布。开发者可以通过.NET 11 Preview SDK安装,并在微软的公告以及MAUI Preview 7发布说明中找到完整的特性列表、平台说明、迁移细节和相关实现问题的链接。
查看英文原文:.NET 11 Preview 7 Adds Passkeys, Incremental XAML Hot Reload, and Shell Route Templates to MAUI





