.NET 社区工具包发布了 8.4 版本,带来了多项重要的更新和改进,旨在提升开发工作流程的效率。以下是本次更新的主要内容:
1. MVVM 工具包中的部分属性支持
- 部分属性:引入了对 MVVM 工具包中部分属性的支持,利用 .NET 9 SDK 中的新 C# 语言特性。这一改进使得属性声明更紧密地集成到 C# 语言中,增强了对
new
、sealed
、override
和required
等修饰符的支持。 - 自定义属性和访问修饰符:开发者现在可以为属性、字段或访问器应用自定义属性和访问修饰符。
- 空值注解和 AOT 兼容性:部分属性还增强了空值注解,并提供了与 UWP 和 WinUI 3 应用程序中 Native AOT 的兼容性。
- Visual Studio 支持:即将发布的 Visual Studio 更新将简化部分属性声明与其实现之间的导航。此外,新的代码修复工具支持开发者一键将现有的
[ObservableProperty]
字段迁移为部分属性,特别推荐使用 CsWinRT 的项目进行迁移,以获得更好的性能和语言支持。
2. 扩展的诊断分析器
- 新的分析器:引入了多个新的诊断分析器,用于解决常见的编码问题,例如不受支持的类型或错误的声明,提升了 MVVM 场景下的代码质量。
- 特定分析器:包括对语言版本兼容性、WinRT 场景下的 AOT 兼容性以及
[ObservableProperty]
和[RelayCommand]
正确使用的检查。 - 语言版本设置:建议开发者在项目文件中设置
<LangVersion>preview</LangVersion>
,以启用部分属性并确保与新增功能的兼容性。
3. 其他改进和优化
- Windows SDK 版本验证:通过 MSBuild 逻辑验证 Windows SDK 版本。
- 属性访问器的属性转发:支持将属性转发到属性访问器。
- 调试简化:为所有源代码生成器和分析器嵌入了 .pdb 文件,简化了调试过程。
- 性能优化:对多个工具包组件进行了性能改进。
4. 其他显著更新
- AsStream() 扩展:为
ReadOnlySequence<byte>
新增了AsStream()
扩展,使开发者能够更高效地创建readonly
、可查找的流。 - IndexOf<T> 扩展:
IndexOf<T>
扩展现在使用了ref readonly
,强调了其预期用途。
5. 反馈与文档
- 开发者反馈:.NET 社区工具包团队鼓励开发者探索新功能并提供反馈,以帮助完善未来的更新。
- 官方发布说明:详细的文档和指南可在工具包的官方发布说明中查看。
本次更新通过引入部分属性、扩展诊断分析器、优化性能和简化调试流程,显著提升了 .NET 社区工具包的功能和开发体验。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。