.NET 8 Preview 5 发布了。

以下是新版本的一些新功能::

SDK 改动

  • 依赖注入 (DI) 友好的指标 API ,该版本推出 IMeterFactory 接口,该接口可以注册到 DI 容器中,用于隔离创建 Meter 对象。
  • Source Link 是 .NET SDK 的一部分,.NET SDK 现在包括源链接,在检查 Sourcelinked NuGet 包时提升 IDE 体验。
  • 新的 .NET 库分析器分析器就像内置于 SDK 和交互式开发环境 (IDE) 中的编码合作伙伴,可在编写代码时识别问题并提出更正建议。
  • Linux self-contained ,Linux 发行版构建(从源码构建)SDK 可以构建使用源构建运行时包的独立应用程序,分发特定的运行时包将与源构建 SDK 捆绑在一起。
  • self-contained 不再是默认选项, -r/--runtime 不再强制绑定 net8.0 和更高目标框架的应用程序的 --self-contained 。

Alpine ASP.NET Docker 复合映像

提供一个新的 ASP.NET Docker 映像,它使用一种称为 “复合” 的更新的即用型 (R2R) 编译变体。复合 R2R 映像通过将多个 MSIL 程序集编译成单个 R2R 输出二进制文件来构建,具有多种优势:减少 JIT 时间、降低启动性能以及减小 R2R 映像大小。

RID 特定资产不再需要 RID 图

当使用特定于运行时 (RID) 的资产运行应用程序时,宿主会确定哪些资产与其运行的平台相关,适用于应用程序本身和 AssemblyDependencyResolver 使用的解析逻辑。

但 RID 图已被证明维护成本高、难以理解且通常很脆弱。因此,默认情况下,在 .NET 8 中将不再使用 RID 图,而是依赖于基于运行时本身构建方式的已知 RID 列表。

Codegen 代码生成器

动态配置文件引导优化 (PGO) 现在默认启用,这意味着不再需要特殊的配置设置。

预计大量应用程序的性能将提高 5% 到 500%(合理预期为 15%),具体取决于应用程序瓶颈的性质。

可以通过以下方式选择退出动态 PGO <TieredPGO>false</TieredPGO>

NativeAOT:优化了 GC 类型的 ThreadStatic 字段访问

标记为 ThreadStaticLocal 的字段访问现在针对原始类型进行了优化。引用类型字段也进行了优化,这些更改在许多基准测试中带来了一些非常好的改进。

 

更多内容详见更新公告。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。