.NET 8已发布第一个预览版|.NET Runtime 初步支持 RISC-V

  .NET 8 已发布第一个预览版

  .NET 8 已发布第一个预览版,.NET 8 是一个长期支持 (LTS) 版本,每个月都会发布预览版本和候选版本,最终的稳定版将在 11 月发布。

  .NET 8 预览版 1 中的新增功能

  原生 AOT 

  使用本机 AOT 发布应用程序会创建一个完全独立的应用程序版本,不需要单独的运行时,因为所有内容都包含在一个文件中。

  从预览版 1 开始,这个文件变小了,Linux 版本体积缩小了 50%。

  .NET 容器镜像

  .NET 8 Preview 1 将容器镜像的默认 Linux 发行版更新为 Debian 12  LTS 版本。

  此外,从 .NET 8 Preview 1 开始,发布的所有容器镜像都将不支持 root。现在可以使用 -u app 启动容器镜像,默认端口已从端口 80 更改为 8080 。这是启用非 root 方案必需的重大更改,因为端口 80 是特权端口。

  运行时和库

  处理随机性的实用方法

  System.Random 和 System.Security.Cryptography.RandomNumberGenerator 获得了用于从输入集中随机选择项目的方法,称为GetItems;以及用于随机化跨度顺序的实用方法,称为Shuffle

  Shuffle 有助于减少机器学习中的训练偏差。

  System.Numerics 和 System.Runtime.Intrinsics

  • 将 Vector256<T> 重新实现为 2x Vector128<T> 操作 #76221
  • 添加了 Vector512<T> 的初始托管实现 #76642 。
  • 重写 Matrix3x2 和 Matrix4x4 ,以更好地利用硬件加速 #80091 。
  • 硬件内部函数现在用 ConstExpected  属性 #80192
  • 将 Lerp API 添加到 IFloatingPointIeee754<TSelf> #81186 

  JSON 改进 

  此版本还有一些其他支持改进,比如更好的 Linux 支持、代码生成支持,细节可参考官方发布博客

  https://devblogs.microsoft.com/dotnet/announcing-dotnet-8-preview-1/


  .NET Runtime 初步支持 RISC-V

  .NET Runtime 的 GitHub 仓库近日合并了一个新 PR,该 PR 包含为 RISC-V 架构添加初步支持的代码。

  从 PR 的描述来看,它主要是用于为 .NET Runtime 提供初步的 RISC-V 构建支持。该代码已经成功测试了 RISC-V 的交叉构建,甚至可以在 RISC-V 上运行一个简单的 "hello world" 类型的应用程序。

  由于微软尚未让 Windows 适配 RISC-V,你可能很好奇谁在做这项工作。PR 作者的信息显示,他是三星工程师 Dong-Heon Jung,这名工程师参与了 .NET 平台团队,并且他本身的部分工作内容就包含了为 .NET 平台贡献代码。

  .NET 一直在积极丰富自己的生态,去年 .NET Runtime 合并了支持龙芯 LoongArch64 架构的 PR,正式支持 LoongArch64 架构。