Windows 应用 SDK 的试验通道发行说明
重要
不支持在生产环境中使用试验通道,并且无法将使用试验版本的应用发布到 Microsoft Store。
试验通道提供 Windows 应用 SDK 的版本,其中包括开发早期阶段的试验通道功能。 用于试验功能的 API 具有试验特性。 如果在代码中调用试验 API,会收到生成时警告。 试验通道中的所有 API 在将来的版本中可能会有重大更改,但试验 API 特别容易更改。 试验功能可能会从下一版本中删除,也可能永远不会发布。
重要链接:
- 如果要将现有应用从较旧版本的 Windows 应用 SDK 升级到较新版本,请参阅将现有项目更新到 Windows 应用 SDK 的最新版本。
- 有关实验版本的文档,请参阅安装用于Windows 应用 SDK预览频道和实验通道的工具。
试验通道发行说明:
试验版本 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 应用程序或组件时,必须指定所需的体系结构:
x86
、x64
或arm64
。 - .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 应用程序或组件时,必须指定所需的体系结构:
x86
、x64
或arm64
。 - .NET 应用必须面向内部版本 18362 或更高版本:TFM 必须设置为
net5.0-windows10.0.18362
或更高版本,并且打包项目的<TargetPlatformVersion>
必须设置为 18362 或更高版本。 有关详细信息,请参阅 GitHub 上的已知问题。
示例
Windows 应用 SDK 示例不适用于此版本。 即将推出新的和更新的示例,包括演示新功能(例如未打包的应用部署)的示例。