Windows App SDK 1.2 的试验通道发行说明
重要
不支持在生产环境中使用试验通道,并且无法将使用试验版本的应用发布到 Microsoft Store。
试验通道提供 Windows App SDK 的版本,其中包括开发早期阶段的试验通道功能。 用于试验功能的 API 具有试验特性。 如果在代码中调用试验 API,会收到生成时警告。 试验通道中的所有 API 在将来的版本中可能会有重大更改,但试验 API 特别容易更改。 试验功能可能会从下一版本中删除,也可能永远不会发布。
重要链接:
- 如果要将现有应用从较旧版本的 Windows App SDK 升级到较新版本,请参阅将现有项目更新到 Windows App SDK 的最新版本。
- 有关试验版本的文档,请参阅安装 Windows App SDK 的预览和试验通道工具。
最新试验通道版本:
最新稳定通道版本:
试验版本 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.Experimental和Microsoft.UI.Composition.Experimental 命名空间中有几个实验类。
此版本中的新增功能:
- InputPointerSource 具有新的静态工厂 GetforWindowId。
内容
在此版本中,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"。