Windows 应用 SDK 1.3 的稳定通道发行说明
稳定通道提供支持在生产环境中供应用使用的 Windows App SDK 版本。 使用 Windows App SDK 稳定版本的应用还可以发布到 Microsoft Store。
重要链接:
- 如果要将现有应用从较旧版本的 Windows App SDK 升级到较新版本,请参阅将现有项目更新到 Windows App SDK 的最新版本。
最新稳定通道版本:
下载 Windows App SDK
注意
Windows App SDK Visual Studio 扩展 (VSIX) 已不再作为单独的下载进行分发。 它们可在 Visual Studio 内的 Visual Studio Marketplace 中使用。
版本 1.3.3 (1.3.230724000)
这是 Windows 应用 SDK 的服务版本,其中包含针对版本 1.3 的关键 bug 修复。
- 修复了关闭对话框时鼠标有时会停止工作的问题。
- 修复了由于系统上包版本不匹配而阻止应用安装的部署问题。 有关详细信息,请参阅 GitHub 问题 #3740。
- 修复了影响 Windows 应用 SDK 1.3 中的上下文菜单定位的问题。
- 修复了导致某些 WinUI3 应用在某些情况下因 XAML 过早关闭而关闭应用时崩溃的问题。
- 修复了字体图标在从右到左的语言中无法正确镜像的问题。 有关详细信息,请参阅 GitHub 问题 #7661。
- 修复了在资源按错误顺序被拆毁时导致应用在关闭时崩溃的问题。 有关详细信息,请参阅 GitHub 问题 #7924。
版本 1.3.2 (1.3.230602002)
这是 Windows 应用 SDK 的服务版本,其中包含针对版本 1.3 的关键 bug 修复。
- 修复了设置受保护游标时出现的故障。
- 修复了应用启动期间 XamlMetadataProvider 的性能问题。 有关详细信息,请参阅 GitHub 问题 #8281。
- 修复了 RichTextBlock 中超链接和触控的问题。 有关详细信息,请参阅 GitHub 问题 #6513。
- 修复了 WebView2 中滚动和触控板的问题。 有关详细信息,请参阅 GitHub 问题 #7772。
- 修复了 Windows 应用 SDK 的更新有时需要重启 Visual Studio 的问题。 有关详细信息,请参阅 GitHub 问题 #3554。
- 修复了在调试器中运行时,关闭时出现的干扰异常。
版本 1.3.1 (1.3.230502000)
这是 Windows 应用 SDK 的服务版本,其中包含针对版本 1.3 的关键 bug 修复。
- 修复了在内容为 null 的情况下设置 SystemBackdrop 时导致应用崩溃的问题。 有关详细信息,请参阅 GitHub 问题 #8416。
- 修复了在 XAML 中设置窗口标题(这是 1.3.0 中添加的新功能)时导致应用崩溃的问题。 有关详细信息,请参阅 GitHub 问题 #3689。
- 修复了窗口在其内容发生更改时错误地获取焦点的问题。
- 修复了使用 WinAppSDK 1.3 项目模板创建 C++ 项目时出现的问题。
- 更新了 Visual Studio Marketplace 上的模板
1.3 版的新增功能和更新功能以及已知问题
以下部分描述了版本 1.3 的新功能和已更新功能,以及已知问题。
在现有的 Windows 应用 SDK 1.2 应用中,可以将 Nuget 包更新为 1.3.230331000(请参阅使用 NuGet 包管理器在 Visual Studio 中安装和管理包中的更新包部分)。
有关已更新的运行时和 MSIX,请参阅最新 Windows 应用 SDK 下载。
XAML 背景 API
借助 XAML 窗口中的内置属性,现在可以更轻松地在 WinUI 3 应用中使用 Mica & Background Acrylic 背景。 有关 Xaml 背景属性的详细信息,请参阅系统背景和 Mica 背景 API 文档。
public MainWindow()
{
this.InitializeComponent();
this.SystemBackdrop = new MicaBackdrop();
}
Window.AppWindow
现在,通过替换几行样板代码,便可直接通过 Window.AppWindow
从窗口使用 AppWindow API。
WinAppSDK 中的新功能
ApplicationModel.DynamicDependency
:取代已弃用的 MddGetGenerationId 的PackageDependency.PackageGraphRevisionId
。- 环境管理器:
EnvironmentManager.AreChangesTracked
告知你是否可在应用程序中跟踪对环境管理器的更改。 - 当无法解析引用的 Static/ThemeResource 查找时,现在会引发新事件 DebugSettings.XamlResourceReferenceFailed。 使用此事件可以访问某个跟踪,该跟踪详细说明了在框架中的哪个位置搜索该键,以便更好地调试 Static 和 ThemeResource 查找失败。 有关详细信息,请参阅 GitHub 上的跟踪 XAML 资源引用查找失败 API 规范。
其他更新
- 参阅 WinAppSDK GitHub 上的 WinAppSDK 1.3 里程碑,了解此版本中解决的其他问题。
- 参阅 microsoft-ui-xaml GitHub 上的 WinAppSDK 1.3 里程碑中的 WinUI 3,了解此版本中解决的其他问题。
- 现在,使用最新的试验性 VSIX,可以通过 Visual Studio 菜单在未打包和打包之间转换应用,而无需在项目文件中执行此操作。
已知问题
由于最近对 xaml 编译器进行了更改,升级到版本 1.3 的现有项目可能会在 Visual Studio 中遇到如下所示的生成错误:
> C:\Users\user\\.nuget\packages\microsoft.windowsappsdk\\**1.3.230331000**\buildTransitive\Microsoft.UI.Xaml.Markup.Compiler.interop.targets(537,17): error MSB4064: The "PrecompiledHeaderFile" parameter is not supported by the "CompileXaml" task loaded from assembly: Microsoft.UI.Xaml.Markup.Compiler, Version=1.0.0.0, Culture=neutral, PublicKeyToken=de31ebe4ad15742b from the path: C:\Users\user\\.nuget\packages\microsoft.windowsappsdk\\**1.2.230118.102**\tools\net472\Microsoft.UI.Xaml.Markup.Compiler.dll. Verify that the parameter exists on the task, the <UsingTask> points to the correct assembly, and it is a settable public instance property.
此错误的原因是 Visual Studio 使用版本 1.2 中缓存的 xaml 编译器任务 dll,但使用版本 1.3 中不兼容的 MSBuild 逻辑驱动该 dll,如上面的错误文本所示。 解决方法是关闭 Visual Studio,重启它,然后重新加载解决方案。