.NET Community Toolkit 8.3 发布,支持 .NET 8 和 NativeAOT

.NET Community Toolkit 8.3 发布总结

.NET Foundation 宣布发布了 .NET Community Toolkit 8.3,该版本带来了多项关键更新,包括对 .NET 8 和 NativeAOT 的全面支持。此次发布不仅提升了性能,修复了一些错误,还提供了旨在改善开发者体验的新功能。

主要亮点

  1. .NET 8 和 NativeAOT 支持
    所有库均已更新,全面支持 .NET 8 和 NativeAOT。所有 API 都进行了更新,以确保与修剪(trimming)和预编译(AOT)完全兼容,即使在高级场景下也能实现平滑集成。此外,新的修剪注解提供了对潜在不安全代码的警告。
  2. 对 ObservableProperty 的 NativeAOT 支持质疑
    有评论对 ObservableProperty 的 NativeAOT 支持表示质疑,认为在某些情况下并不支持且会发出警告。对此,官方澄清称,虽然 ObservableProperty 在 NativeAOT 下可能存在限制,但建议使用与 AOT 兼容的源代码生成器。反射相关的 API 会触发警告,工具包现在包含了这些问题的注解。
  3. MVVM 工具包的兼容性增强
    MVVM 工具包现在支持 net8.0-windows10.0.17763.0 目标,增强了与 WinAppSDK(WinUI 3)的兼容性。此更新确保为可能被编组到 WinRT 的类型生成必要的互操作代码,从而在 .NET 项目中无缝使用 MVVM 工具包。

性能改进

  • INotifyPropertyChanging 接口优化
    开发者可以在不需要时禁用 INotifyPropertyChanging 接口,从而消除不必要的开销。这在 UWP 和 WinUI 3 等框架中尤其有用,因为某些视图模型不需要此功能。通过在 .csproj 文件中设置属性,相关的代码会被修剪掉,从而优化应用程序性能。

其他修复和改进

  • 修复了使用 [NotifyPropertyChangedFor] 为依赖属性生成 OnPropertyChanging 方法的问题。
  • 修正了 IBufferWriterExtensions.Write 方法对非托管类型的长度计算。
  • 调整了从 MemoryManager 创建的 Memory2D<T> 实例的偏移量计算。
  • 防止 ObservableValidator.HasError 属性在表视图中自动生成。

资源链接

贡献与反馈

社区鼓励贡献和反馈,以帮助塑造工具包的未来版本。

阅读 39
0 条评论