.NET 7预览版3发布


.NET 7 的第三个预览版包括对可观察性、启动时间、代码生成、GC 区域、本机 AOT 编译等方面的增强。这些位可供您立即获取并开始尝试新功能,例如:

  • 原生 AOT
  • 默认 GC 区域
  • ASP.NET Core 启动时间改进

您可以下载适用于 Windows、macOS 和 Linux 的.NET 7 Preview 3 。

使用本机原生 AOT 的更快、更轻量级的应用程序
原生AOT的主要优势在于启动时间、内存使用、访问受限平台(不允许 JIT)以及磁盘空间更小。
而之前的提前 AOT 编译是在应用程序构建时生成代码,而不是运行时生成代码。
原生 AOT 并没有取代这些现有技术,而是提供了一组新的功能来解锁新的特点。

原生AOT是应用程序在操作系统页面进入内存的那一刻开始运行。数据结构针对运行 AOT 生成的代码进行了优化,而不是针对在运行时编译新代码。这类似于 Go、Swift 和 Rust 等语言的编译方式。
原生AOT最适合启动时间最重要的环境:面向原生 AOT 的要求比一般 .NET Core/5+ 应用程序和库更严格。原生 AOT 禁止在运行时发出新代码(例如 Reflection.Emit),并禁止在运行时加载新的 .NET 程序集(例如插件模型)。

如何实现原生AOT ?.NET 7 中crossgen 工具。
Crossgen 是 .NET SDK 的一部分。生成 ReadyToRun 可执行文件的是 CoreCLR AOT 编译器。