Windows App SDK 1.2 的试验通道发行说明

重要

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

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

重要链接

最新试验通道版本:

最新稳定通道版本:

试验版本 1.2 (1.2.0-experimental2)

这是试验通道的最新版本。 它支持所有试验通道功能以及版本 1.2 预览版 1 (1.2.0-preview1) 中的功能。

要下载,请将 WinAppSDK NuGet 版本重新定目标到 1.2.220909.2-experimental2

修复的问题

在即将推出的 Windows Insider Preview 版本中,使用 Windows App SDK的应用程序将无法启动。

试验版本 1.2 (1.2.0-experimental1)

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

要下载,请将 WinAppSDK NuGet 版本重新定目标到 1.2.220727.1-experimental1

输入和组合

首先在 Windows App SDK 0.8 中引入,Microsoft.UI.Input.ExperimentalMicrosoft.UI.Composition.Experimental 命名空间中有几个实验类。

此版本中的新增功能:

内容

在此版本中,Microsoft.UI.Content 命名空间中的实验类提供交互式内容的构建基块。 这些是低级别基元,可以组合到内容中,为最终用户提供交互式体验。 内容定义了以下结构:使用动画呈现输出、处理不同目标的输入、提供辅助功能表示形式以及处理主机状态更改。

值得注意的 API:

  • ContentIsland - 将输出、输入和辅助功能组合在一起,并为交互式内容提供抽象。 可以使用这些 API 构造和生成自定义可视化树。
  • DesktopChildSiteBridge - 允许 ContentIsland 连接到基于 HWND 的层次结构。

有关详细信息,请参阅 GitHub 上的示例

调度

DispatcherQueue 现在以重新进入的形式调度。 以前,单个 DispatcherQueueHandler 回调可能一次在单个线程上处于活动状态。 现在,如果处理程序启动嵌套消息泵,则其他回调将调度为重新进入。 这与窗口消息和嵌套消息泵的 Win32 行为匹配。

通知

现在支持注册应用通知的应用显示名称和图标。 请查看 GitHub 上的规范以了解其他信息。

WinUI 3

  • WinUI 2.8 版的控件和样式是最新的。
  • 实验版本中不再支持 UWP。

其他限制和已知问题

  • 更新到 Windows App SDK 1.2-experimental1 后,需要重新生成应用,因为 ABI 中引入了中断性变更。
  • 引用依赖于 WebView2 的包(例如 Microsoft.Identity.Client)的应用无法生成。 此问题是因生成时二进制文件冲突而造成的。 有关详细信息,请参阅 GitHub 上的问题 2492
  • dotnet build 用于 WinAppSDK C# 类库项目可能会出现生成错误“无法加载 Microsoft.Build.Packaging.Pri.Tasks.ExpandPriContent 任务”。 要解决此问题,请在项目文件中设置 <EnableMsixTooling>true</EnableMsixTooling>
  • 默认的 WinAppSDK 模板指出 MaxVersionTested="10.0.19041.0",但它应该是 "10.0.22000.0"。 要完全支持某些功能,特别是 UnlockedDEHs,请将项目文件中的 MaxVersionTested 更新为 "10.0.22000.0"。