Windows 应用 SDK 的试验通道发行说明

重要

不支持在生产环境中使用试验通道,并且无法将使用试验版本的应用发布到 Microsoft Store。

试验通道提供 Windows 应用 SDK 的版本,其中包括开发早期阶段的试验通道功能。 用于试验功能的 API 具有试验特性。 如果在代码中调用试验 API,会收到生成时警告。 试验通道中的所有 API 在将来的版本中可能会有重大更改,但试验 API 特别容易更改。 试验功能可能会从下一版本中删除,也可能永远不会发布。

重要链接:

试验通道发行说明:

试验版本 1.0 (1.0.0-experimental1)

这是试验通道的最新版本。 它支持所有试验通道功能

以下部分介绍此版本的新功能、更新功能、限制和已知问题。

WinUI 3

此版本的 WinUI 3 侧重于为 1.0 稳定版构建新功能以及修复 bug。

  • 新功能:支持每个窗口显示 ContentDialog,而不是按线程显示。
  • Bug:有关此版本中解决的 bug 的完整列表,请参阅我们的 GitHub 存储库
  • 示例:若要查看 WinUI 3 控件和功能,可以从GitHub克隆和生成 WinUI 3 库应用,或从Microsoft Store下载应用。

有关详细信息或开始使用 WinUI 进行开发的步骤,请参阅:

推送通知(试验功能)

此版本引入了推送通知 API,可供 MSIX 打包的桌面应用与基于 Azure 应用注册的标识一起使用。 若要使用此功能,必须注册获取专用预览版

重要限制:

  • 只有在 Windows 10 版本 2004(内部版本 19041)或更高版本上运行的 MSIX 打包的应用才支持推送通知。
  • Microsoft 保留在使用个人预览版期间从推送通知禁用或撤销应用的权利。
  • Microsoft 不保证推送通知的可靠性或延迟。
  • 在使用个人预览版期间,推送通知数量限制为每月 100 万条。

有关详细信息,请参阅推送通知

窗口化

此版本包括对窗口化 API 的更新。 这些是一组基础的窗口化 API,它们以 AppWindow 类为中心,能够实现易于使用的窗口化方案,这些方案与 Windows 用户体验和其他应用能够很好地集成在一起。 这类似于 UWP AppWindow,但两者并不相同。

重要限制:

  • 此版本的 AppWindow 目前仅适用于(打包和未打包的)Win32 应用。
  • Windows 应用 SDK 当前不提供将 UI 框架内容附加到 AppWindow 的方法,只能使用 HWND 互操作访问方法。
  • 在适用于 AMD64 的 Windows 版本 1809 和 1903 中,窗口化 API 目前无法正常使用。

有关详细信息,请参阅管理应用窗口

适用于未打包应用的部署

此版本引入了对动态依赖项功能(包括引导程序 API)的更新。

重要限制:

  • 仅未打包的应用(即不使用 MSIX 作为部署技术的应用)支持动态依赖项功能。
  • 不支持提升权限的调用方。

有关详细信息,请参阅以下文章:

其他限制和已知问题

  • 不支持任何 CPU 生成配置:Windows 应用 SDK 是用本机代码编写的,因此不支持任何 CPU 生成配置。 Visual Studio中的 WinUI 3 模板仅允许特定于体系结构的生成。 添加 Windows 应用 SDK 到支持任何 CPU 的现有 .NET 应用程序或组件时,必须指定所需的体系结构:x86x64arm64
  • .NET 应用必须面向内部版本 18362 或更高版本:TFM 必须设置为 net5.0-windows10.0.18362 或更高版本,并且打包项目的 <TargetPlatformVersion> 必须设置为 18362 或更高版本。 有关详细信息,请参阅 GitHub 上的已知问题
  • 使用试验版本 1.0 的 C# 应用必须使用以下 .NET SDK 之一:
    • .NET 5 SDK 版本 5.0.400 或更高版本(如果使用的是 Visual Studio 2019 版本 16.11)
    • .NET 5 SDK 版本 5.0.302 或更高版本(如果使用的是 Visual Studio 2019 版本 16.10)
    • .NET 5 SDK 版本 5.0.205 或更高版本(如果使用的是 Visual Studio 2019 版本 16.9)

预览版本 0.8 (0.8.0-preview)

此版本支持所有试验通道功能

以下部分介绍此版本的新功能、更新功能、限制和已知问题。

WinUI 3

此版本引入了重要的 bug 修复(包括在0.5 服务版本中修复的问题)以及 WinUI 的其他更改。 若要获取完整列表,请参阅 WinUI 3 - Windows 应用 SDK 0.8 发行说明

应用生命周期(试验功能)

此版本引入了与管理应用应用生命周期相关的新试验功能。

  • 所有应用(打包和未打包的)均可使用 GetActivatedEventArgs(尽管打包的应用已可使用平台中的此实现)。
  • 仅打包的应用可以使用 RegisterForXXXActivation 函数。
  • 打包的桌面应用可以使用应用生命周期实例化。

有关详细信息,请参阅应用实例化富激活

未打包应用的部署(试验功能)

此版本为未打包应用(即不使用 MSIX 作为部署技术的应用)引入了新的试验部署功能。 未打包的应用现在可以动态依赖于 Windows 应用 SDK 运行时包,因此,你可以继续使用现有的 MSI 或安装程序进行应用部署。 这是通过以下功能实现的:

  • Windows 应用 SDK 的独立安装程序。
  • 包含动态依赖项功能的 MSIX 包捆绑。

有关详细信息,请参阅部署未打包应用

DWriteCore

此版本添加了以下功能:

  • 文本修饰(文本布局 API 中的下划线和删除线)
  • 垂直文本布局
  • 字体字距调整 API
  • 未打包应用的试验支持

有关详细信息,请参阅使用 DWriteCore 渲染文本

MRT 核心

此版本添加了以下功能:

  • 现可自动设置资源的生成操作,从而减少了手动项目配置需求。
  • 未打包应用的试验支持。

有关详细信息,请参阅使用 MRT Core 管理资源

限制和已知问题

  • 不支持任何 CPU 生成配置:Windows 应用 SDK 是用本机代码编写的,因此不支持任何 CPU 生成配置。 Visual Studio中的 WinUI 3 模板仅允许特定于体系结构的生成。 添加 Windows 应用 SDK 到支持任何 CPU 的现有 .NET 应用程序或组件时,必须指定所需的体系结构:x86x64arm64
  • .NET 应用必须面向内部版本 18362 或更高版本:TFM 必须设置为 net5.0-windows10.0.18362 或更高版本,并且打包项目的 <TargetPlatformVersion> 必须设置为 18362 或更高版本。 有关详细信息,请参阅 GitHub 上的已知问题

示例

Windows 应用 SDK 示例不适用于此版本。 即将推出新的和更新的示例,包括演示新功能(例如未打包的应用部署)的示例。