热门排行
简介
.NET Runtime 8.0是.NET 运行时仅包含运行控制台应用所需的组件,.NET 8 是一个长期支持 (LTS) 版本,每个月都会发布预览版本和候选版本,最终的稳定版将在 11 月发布。.NET 的版本包括产品、库、运行时和工具,是 Microsoft 内部和外部多个团队之间的协作。
新增功能
原生 AOT
使用本机 AOT 发布应用程序会创建一个完全独立的应用程序版本,不需要单独的运行时,因为所有内容都包含在一个文件中。
从预览版 1 开始,这个文件变小了,Linux 版本体积缩小了 50%。
.NET 容器镜像
.NET 8 将容器镜像的默认 Linux 发行版更新为 Debian 12 LTS 版本。
此外,从 .NET 8 开始,发布的所有容器镜像都将不支持 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 改进
添加对 JsonUnmappedMemberHandling 的支持 dotnet/runtime#79945
源生成器支持required和init属性 dotnet/runtime#79828
接口层次结构支持 dotnet/runtime#78788
Snake Case 和 Kebab Case dotnet/runtime#69613
添加JsonSerializer.MakeReadOnly() 和 IsReadOnly API dotnet/runtime#74431
安装教程
步骤1:运行安装程序
下载完成后,运行安装程序并完成在计算机上安装.NET的步骤。
步骤2:验证安装
安装程序完成后,打开一个新的命令提示符并运行该dotnet命令。这将验证.NET是否已正确安装并可以使用。(安装成功您应该会看到类似以下的输出:)
步骤3:开始
现在,您已经安装了.NET,你可以通过教程来构建您的第一个应用程序。
更新日志
发生了什么变化
通过@rbhanda在#9172中更新releases.json
通过@rbhanda在#9174中更新releases.json
通过@rbhanda在#9175中更新README.md
@masonweller在#9171中发布的9.0预览版1发行说明中的可读性改进
由@jamesmontemagno在#9178中更新README.md
在#8305中添加@richlander对旧目标框架的支持声明
@rbhanda在#9184中更新releases.json
在#9180中通过@richlander更新libraries.md
@richlander在#9182中更新runtime.md
移动图片由@jamesmontemagno在#9179
修复@eiriktsarpalis在#9186中的代码示例问题
@richlander在#9187中更新README.md
通过@jamesmontemagno在#9190中更新roadmap.md
通过@rbhanda在#9191中更新known-issues.md 8.0
通过@mairaw在#9194中更新known-issues.md
的工件。NET 8.0.201仅限SDK由@rbhanda在#9196中发布
通过@jamesmontemagno在#9193中更新core-repos.md
通过@richlander在#9197中更新roadmap.md
通过@richlander在#9198中更新roadmap.md
由@codesmith-emmy在#9199中更新README.md
之间的API差异。NET 8.0和。NET 9预览1由@carlossanlop在#9176
RunApiDiff.ps1:修复#9177中@carlossanlop在比较preview1和上一版本时设置错误文件名和文件夹名的错误
通过@Falco20019在#9211中添加2月份对CVE文档的更新
更新#9188中@lbussell对容器的引用
的工件。NET三月发布由@rbhanda在#9213
通过@rbhanda在#9215中更新rel注释
通过@rbhanda在#9216中更新releases.md