您的位置:首页 > IT > 正文

.NET 8 已发布第一个预览版 世界短讯

来源:OSCHINA     时间:2023-02-23 07:21:53


(资料图)

.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重新实现为2xVector128操作 #76221 添加了Vector512的初始托管实现#76642。 重写 Matrix3x2 和 Matrix4x4 ,以更好地利用硬件加速 #80091。 硬件内部函数现在用ConstExpected属性 #80192 将LerpAPI 添加到IFloatingPointIeee754#81186

JSON 改进

添加对 JsonUnmappedMemberHandling 的支持dotnet/runtime#79945 源生成器支持requiredinit属性dotnet/runtime#79828 接口层次结构支持dotnet/runtime#78788 Snake Case 和 Kebab Casedotnet/runtime#69613 添加JsonSerializer.MakeReadOnly()IsReadOnlyAPIdotnet/runtime#74431

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

相关文章