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

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

用户界面 3

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

已知的问题:

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

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

其他限制和已知问题

  • Windows 10 版本 1809 不支持未打包的应用程序:我们的目标是在下一个稳定版本中修复此问题。
  • 如果未安装 C++ UWP 工具,则无法编译 C# 单项目 MSIX 应用程序:如果您有 C# 单项目 MSIX 项目,则需要安装 C++ (v14x) 通用 Windows 平台工具 可选组件。
  • 此版本 为 C# 和 C++ 项目引入了 空白应用程序、打包(桌面版 WinUI 3)模板。这些模板使您能够 将应用程序构建到 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# 模板。 当您尝试在开发计算机上运行或调试项目时,您将遇到以下错误:“该项目需要部署,然后我们才能进行调试。请在配置管理器中启用部署。” 要解决此问题,请在Configuration Manager 中为您的项目启用部署 。有关详细说明,请参阅使用 C# 和 Windows App SDK 1.0 Preview 2 创建 WinUI 3 桌面应用程序的 说明
    • Visual Studio 2022 版本 17.0 的 C++ 模板发布到预览版 4。 第一次尝试运行项目时会遇到以下错误:“存在部署错误”。要解决此问题,请再次运行或部署您的项目。此问题将在 Visual Studio 2022 版本 17.0 Preview 7 中修复。
  • 所有CPU构建配置不支持:当 添加Windows应用程序SDK  ,以支持现有的.NET应用程序或组件 的任何CPU,则必须指定所需的架构:  x86, x64 或 arm64
  • 使用 1.0 Preview 3 的 C# 项目必须使用以下 .NET SDK:.NET 5 SDK 版本 5.0.400 或更高版本(如果您使用的是 Visual Studio 2019 版本 16.11)。
  • 如果你想 co_await 在 DispatcherQueue.TryEnqueue 方法,使用 resume_foreground 在辅助函数 的Windows实现库(WIL) 
    1. 添加对Microsoft.Windows.ImplementationLibrary  NuGet 包的引用 。
    2. 将该#include <wil/cppwinrt.h> 语句添加 到您的代码文件中。
    3. 使用 wil::resume_foreground(your_dispatcher); 到 co_await 的结果。

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

原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun81537.html

(0)
打赏 微信扫一扫不于多少! 微信扫一扫不于多少! 支付宝扫一扫礼轻情意重 支付宝扫一扫礼轻情意重
上一篇 2021年10月27日 下午9:24
下一篇 2021年10月28日

相关推荐