微软发布 Windows App SDK 1.0 Preview 3,支持不带 MSIX 的 WinUI 3 应用
4分钟读
发表于
读者帮助支持 MSpoweruser。如果您通过我们的链接购买,我们可能会获得佣金。
阅读我们的披露页面,了解如何帮助 MSPoweruser 维持编辑团队 查看更多
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。 我们的目标是在下一个稳定版本中解决这个问题。 几个例子:
- 应用数据
- StorageFile.GetFileFromApplicationUriAsync
- API信息 (在 Windows 10 上不支持)
- 包.当前
- 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,您必须指定所需的架构:
x86
,x64
orarm64
. - 使用 1.0 Preview 3 的 C# 项目必须使用以下 .NET SDK:.NET 5 SDK 版本 5.0.400 或更高版本,如果您使用的是 Visual Studio 2019 版本 16.11。
- 如果您想
co_await
在 DispatcherQueue.TryEnqueue 方法,使用 恢复前景 中的辅助函数 Windows 实现库 (WIL):- 添加引用 Microsoft.Windows.ImplementationLibrary NuGet 包。
- 添加
#include <wil/cppwinrt.h>
声明到您的代码文件。 - 使用
wil::resume_foreground(your_dispatcher);
至co_await
结果。
阅读更多信息并在 Microsoft 找到下载链接 此处.