微软发布.NET 8预览版6

.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 序列化以及跨平台开发方面。这些改进为开发者提供了更高的灵活性和性能优化,同时也为未来的正式发布奠定了基础。

阅读 20
0 条评论