微软发布 Windows App SDK 1.0 Preview 3,支持不带 MSIX 的 WinUI 3 应用

阅读时间图标 4分钟读


读者帮助支持 MSpoweruser。如果您通过我们的链接购买,我们可能会获得佣金。 工具提示图标

阅读我们的披露页面,了解如何帮助 MSPoweruser 维持编辑团队 查看更多

维努伊 3

Microsoft 刚刚发布了 Windows App SDK 1.0.0-Preview3,这是一个工具包,使桌面应用程序开发人员能够构建具有现代 Windows UI、API 和平台功能的应用程序。

[lwptoc title=”WindowsAppSDK 1.0 预览 3″ width=”30%” float=”right”]

用户界面 3

SDK 1.0.0-Preview 3 的主要新功能是支持在没有 MSIX 打包的情况下部署 WinUI 3 应用程序。 请查看 WinUI 3 未打包桌面应用说明 配置您的 WinUI 3 应用程序以支持未打包的部署。

已知的问题:

  • 未打包的 WinUI 3 应用程序是 仅在 Windows 1909 及更高版本上受支持.
  • 未打包的 WinUI 3 应用程序是 支持 x86 和 x64, arm64 支持将在下一个稳定版本中添加。
  • 单项目 MSIX 打包工具   对比 2019 or 对比 2022 对于未打包的应用程序是必需的。
  • 在未打包的应用程序中,您可能会收到安装 .NET 3.5 的提示; 如果你这样做,你可以忽略它。
  • 未打包的应用程序当前不支持某些 API。 我们的目标是在下一个稳定版本中解决这个问题。 几个例子:
  • ListView、CalendarView 和 GridView 控件使用了不正确的样式,我们的目标是在下一个稳定版本中修复此问题。

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

其他限制和已知问题

  • Windows 10 版本 1809 不支持未打包的应用程序: 我们的目标是在下一个稳定版本中解决这个问题。
  • 如果未安装 C++ UWP 工具,则 C# 单项目 MSIX 应用程序不会编译:如果您有 C# 单项目 MSIX 项目,则需要安装 C++ (v14x) 通用 Windows 平台工具 可选组件。
  • 此版本介绍了 打包的空白应用程序(桌面版 WinUI 3) C# 和 C++ 项目的模板。 这些模板使您能够 将您的应用程序构建到 MSIX 包中,而无需使用单独的打包项目. 这些模板在此版本中存在一些已知问题:
    • 在重新启动 VS 之前缺少发布菜单项:在 VS 2019 和 VS 2022 中使用 打包的空白应用程序(桌面版 WinUI 3) 项目模板,在您关闭并重新打开 Visual Studio 之前,菜单中不会出现发布项目的命令。
    • 使用单项目 MSIX 打包向 C++ 应用添加 C++ 静态/动态库项目引用时出错: Visual Studio 显示无法将项目添加为引用的错误,因为项目类型不兼容。
    • 在类库项目中引用自定义用户控件时出错: 应用程序将因系统找不到指定路径的错误而崩溃。
    • Visual Studio 2019 的 C# 模板。 尝试构建项目时会遇到错误:“项目不知道如何运行配置文件 项目名称“。 要解决此问题,请安装 单项目 MSIX 打包工具扩展.
    • 适用于 Visual Studio 2019 和 Visual Studio 2022 的 C# 模板。 当您尝试在您的开发计算机上运行或调试您的项目时,您会遇到以下错误:“需要先部署项目,然后我们才能进行调试。 请在配置管理器中启用部署。” 要解决此问题,请为您的项目启用部署 配置管理器. 有关详细说明,请参阅 使用 C# 和 Windows App SDK 3 Preview 1.0 创建 WinUI 2 桌面应用程序的说明.
    • Visual Studio 2022 版本 17.0 的 C++ 模板发布到预览版 4。 第一次尝试运行项目时,您将遇到以下错误:“有部署错误”。 要解决此问题,请再次运行或部署您的项目。 此问题将在 Visual Studio 2022 版本 17.0 预览版 7 中修复。
  • 不支持任何 CPU 构建配置:什么时候 添加 Windows 应用 SDK 到支持的现有 .NET 应用程序或组件 任何 CPU,您必须指定所需的架构: x86x64 or arm64.
  • 使用 1.0 Preview 3 的 C# 项目必须使用以下 .NET SDK:.NET 5 SDK 版本 5.0.400 或更高版本,如果您使用的是 Visual Studio 2019 版本 16.11。
  • 如果您想 co_await 在 DispatcherQueue.TryEnqueue 方法,使用 恢复前景 中的辅助函数 Windows 实现库 (WIL):
    1. 添加引用 Microsoft.Windows.ImplementationLibrary NuGet 包。
    2. 添加 #include <wil/cppwinrt.h> 声明到您的代码文件。
    3. 使用 wil::resume_foreground(your_dispatcher); 至 co_await 结果。

阅读更多信息并在 Microsoft 找到下载链接 此处.

有关主题的更多信息: Windows 应用 SDK 1.0.0, 维努伊 3