微软Windows App SDK 1.0 预览版 3 发布

10月28日消息 , 据MSPoweruser报道 , 微软近期发布了WindowsAppSDK1.0.0-Preview3 , 这是一个工具包 , 使桌面应用程序开发人员能够使用现代WindowsUI、API和平台功能构建应用程序 。
微软Windows App SDK 1.0 预览版 3 发布
文章图片

文章图片
下面是WindowsAppSDK1.0.0-Preview3更新内容
WinUI3
IT之家获悉 , WindowsAppSDK1.0.0-Preview3将是首个支持Windows11风格设计 , 另外主要的新功能是支持在没有MSIX打包的情况下部署WinUI3应用程序 。请查看WinUI3未打包桌面应用程序的说明 , 以配置你的WinUI3应用程序 , 支持未打包部署 。
已知的问题:未打包的WinUI3应用程序仅支持Windows版本1909及以后的版本 。未打包的WinUI3应用程序支持x86和x64 , arm64支持将在下一个稳定版本中添加 。未打包的应用程序需要VS2019或VS2022的单项目MSIX打包工具 。在未打包的应用程序中 , 你可能会收到安装.NET3.5的提示;如果有 , 你可以忽略它 。一些API目前在未打包的应用程序中不被支持 。微软目标是在下一个稳定版本中解决这个问题 。下面是几个例子:
ApplicationData
StorageFile.GetFileFromApplicationUriAsync
ApiInformation(在Windows10上不支持)
Package.CurrentListView、CalendarView和GridView控件正在使用不正确的样式 , 目标是在下一个稳定版本中修复这个问题 。
欲了解更多信息或开始使用WinUI开发 , 请参见:
WindowsUI3Library(WinUI)
GetstarteddevelopingappswithWinUI3
其他限制和已知问题在Windows10版本1809上不支持未打包的应用程序:目标是在下一个稳定版本中解决这个问题 。如果没有安装C++UWP工具 , C#Single-projectMSIX应用程序不能编译 。如果你有一个C#Single-projectMSIX项目 , 你需要安装C++(v14x)通用Windows平台(UWP)工具的可选组件 。这个版本为C#和C++项目引入了空白应用程序 , 打包(WinUI3桌面版)模板 。这些模板使你能够将应用程序构建成一个MSIX包 , 而不需要使用一个单独的打包项目 。在这个版本中 , 这些模板有一些已知的问题 。
在重启VS之前缺少发布菜单项:在VS2019和VS2022中使用空白应用 , 打包(WinUI3桌面版)项目模板创建新应用时 , 发布项目的命令不会出现在菜单中 , 直到你关闭并重新打开VisualStudio 。
使用Single-projectMSIX打包向C++应用程序添加C++静态/动态库项目引用时出错:VisualStudio显示错误 , 由于项目类型不兼容 , 无法将项目作为引用添加 。
在类库项目中引用自定义用户控件时出错:应用程序将崩溃 , 错误是系统无法找到指定的路径 。
VisualStudio2019的C#模板:当你试图构建项目时 , 你会遇到这样的错误 。“该项目不知道如何运行配置文件项目名称” 。为了解决这个问题 , 请安装Single-projectMSIX打包工具扩展 。
VisualStudio2019和VisualStudio2022的C#模板:当你试图在开发计算机上运行或调试你的项目时 , 你会遇到以下错误 。“该项目需要在调试前部署 。请在配置管理器中启用部署” 。要解决这个问题 , 请在配置管理器中为你的项目启用部署 。有关详细说明 , 请参阅使用C#和WindowsAppSDK1.0Preview2创建WinUI3桌面应用程序的说明 。
适用于VisualStudio2022年17.0版本的C++模板 , 直至Preview4:在你第一次尝试运行项目时 , 你会遇到以下错误 。“出现了部署错误” 。要解决这个问题 , 请第二次运行或部署你的项目 。这个问题将在VisualStudio2022版17.0预览版中得到修复 。不支持任何CPU的构建配置:当将WindowsAppSDK添加到支持任意CPU的现有.NET应用程序或组件时 , 你必须指定所需的架构:x86、x64或arm64 。使用1.0Preview3的C#项目必须使用以下.NETSDK:如果你使用VisualStudio2019的16.11版 , 则使用.NET5SDK5.0.400或更高版本 。如果你想对DispatcherQueue.TryEnqueue方法进行co_await , 请使用WindowsImplementationLibrary(WIL)中的resume_foreground辅助函数: