
2025 年 4 月,微软发布了 Windows 社区工具包(Windows Community Toolkit,简称 WCT)的 8.2 版本。新版本更新了依赖项,提供了 UWP for .NET 9 和原生 AOT(提前编译)支持。
Windows社区工具包(WCT)是一个控件和库的集合,通过提供底层平台尚未提供的额外功能来为 Windows 开发者提供帮助。历史上,该工具包提供的功能逐渐被纳入了 Windows 开发平台本身。
不要把 Windows 社区工具包与.NET 社区工具包(.NET Community Toolkit,简称 NCT)搞混了,后者包含 WCT 中不依赖于任何底层 UI 平台的通用功能。
8.2 版本没有提供什么重大的新功能。最重要的变化是更新依赖项和目标框架别名(TFM),以及提供原生 AOT 编译支持。
该工具包的依赖项现已升级至最新版本:Windows App SDK 1.6(之前是 1.5)和 Uno Platform 5.5(之前是 5.2)。最低 Windows 目标框架别名已降至 19041(在 WCT 8.1 版本中是 22621)。对于部分用户来说,较高的 TFM 需求会导致 NuGet 包出现错误,因此,团队花了一些时间来修复成正确的依赖项,并降低了整个工具包的依赖性。
该版本更新了XAML behaviours的一个小命名空间,它现在使用 Microsoft.Xaml.Interactivity 而不是 Microsoft.Xaml.Interactions.Core。通过引用行为库的v3版本,新旧版本的 Windows 平台都得到了恰当的抽象。
现在,所有平台都支持原生AOT编译。当提前编译时,应用程序的性能更好,因为它们已经包含了特定于平台的可执行文件,而不是.NET 中间语言程序集。原生 AOT 支持仍然存在一些问题,目前正在解决中。
对于仍在使用 UWP 框架开发 Windows 应用程序的开发者,新工具包通过 Visual Studio 更新引入了.NET 9支持。它没有对 UWP 框架做任何改进,只是允许 UWP 应用程序以.NET 9 为目标平台。
8.2 版本中的次要修复包括改进 DispatchedQueueTimer.Debounce 扩展(用于限制事件的速率),以及支持AcrylicBrush对象(一种用于 UI 的半透明涂层)。
微软建议开发者了解下Windows社区工具包实验室(Windows Community Toolkit Labs)并为其做出贡献。这是一个用于预发布和实验性功能的存储库,它们还不够稳定,无法进入 WCT 主存储库。例如,其中有一个自动DependencyProperty代码生成器,由特性(attribute)控制,并使用了 C# 13 规范中的部分属性(property)。
8.2.250402 版本于 2025 年 4 月 2 日发布,距离 8.1 版本发布已经过去了八个月。工具包的源代码已在GitHub上提供。
原文链接:
评论