.NET 8 预览版 6 发布总结
本月早些时候,微软发布了 .NET 8 的第六个预览版。该框架的新版本预计将在今年晚些时候正式发布,并将作为长期支持(LTS)版本。此次预览版带来了性能改进和多项新功能,包括新的 WASM 模式、更多的源代码生成器、库更新以及 iOS 上的 NativeAOT 支持。
主要功能与改进
System.Text.Json 源代码生成器改进
- Native AOT 增强:旨在与基于反射的序列化器功能对齐,显著提升了 Native AOT 的性能。
- 缓存优化:改进了增量生成器的缓存机制,确保大型项目在 IDE 中的性能更加流畅。
- 代码格式化:优化了源代码生成器的代码格式化功能,并新增了诊断警告。
- Bug 修复:修复了包括递归集合类型和可空结构体在内的多个问题。
JsonStringEnumConverter 和 JsonConverter 改进
- JsonStringEnumConverter:引入了
JsonStringEnumConverter<TEnum>,作为现有JsonStringEnumConverter类的补充功能。 - JsonConverter.Type:新增了可空属性
JsonConverter.Type,允许开发者查询非泛型JsonConverter实例的类型。
ZipFile 方法重载
- 新重载:为
ZipFile方法新增了重载,强调了高效的磁盘使用。
源代码生成器与日志增强
- 选项验证源代码生成器:新增了选项验证源代码生成器,旨在减少启动开销并改进验证功能集。
- LoggerMessageAttribute 构造函数:新增了重载,提供了更大的灵活性。
- AOT 配置:在 ASP.NET Core 中引入了 AOT 配置的源代码生成器,并在本版本中进行了改进。
其他功能
- MetricCollector:改进了
MetricCollector(原InstrumentRecorder)中的指标和时间戳记录,提高了准确性。 - COM 互操作性:新增了用于 COM 互操作性的源代码生成器。
- SHA-3 支持:新增了对 SHA-3 原语的支持。
- 生成镜像默认值:针对 .NET 8 应用程序的生成镜像默认值进行了调整,以提高安全性和性能。
WASM 和 iOS 平台支持
- HybridGlobalization 模式:在 WASM 上引入了
HybridGlobalization模式,允许全球化数据部分从 ICU 包中获取,部分通过调用 JS 获取,从而提供了更轻量级的 ICU 包。 - NativeAOT 支持 iOS 平台:现在可以使用 NativeAOT 针对 iOS 平台进行开发,支持包括 iOS、iossimulator、maccatalyst、tvos 和 tvossimulator 等系统。不过,目前该功能仅作为可选功能提供,默认运行时仍然是 Mono。
其他改进
- ASP.NET Core 改进:本次预览版还包括了与 ASP.NET Core 相关的其他改进,详细信息可参考相关链接。
可用性
.NET 8 预览版 6 已在 Linux、macOS 和 Windows 平台上提供下载。
总结
此次发布的 .NET 8 预览版 6 带来了多项性能改进和新功能,特别是在源代码生成器、NativeAOT 支持、JSON 序列化以及跨平台开发方面。这些改进为开发者提供了更高的灵活性和性能优化,同时也为未来的正式发布奠定了基础。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。