首页 > 其他分享 >.NET 9 预览版6发布

.NET 9 预览版6发布

时间:2024-07-11 21:19:01浏览次数:12  
标签:社区 预览版 更新 发布 NET Loongarch

微软发布了 .NET 9 的第 6 个预览版,此版本包括对运行时、SDK、.NET MAUI、ASP.NET Core 和 C# 的更新,预览版没有包含太多新的主要功能或特性,因为已接近 .NET 9 开发的最后阶段,该开发计划于 11 月全面发布。

Loongarch的Native-AOT代码合进去了,龙芯.NET 可以直接同步社区代码,这样龙芯.NET 就可以非常方便制作Loongarch架构的SDK来发布。极大减少代码的本地维护,龙芯.NET 现在都是基于社区的源码极少的修改就可以发布。 其次,社区支持Loongarch的CI也在慢慢的发展着,开源社区原生发布Loongarch架构的OS系统镜像,如Alpine和Debian都在快速推进,特别Alpine社区网页wiki已经明确把支持Loongarch放到今年11月的发布计划中,其实Alpine和Debian两个OS发行版社区,对Loongarch的支持已经很全面了,只是需要等社区下个版本发布中,正式发布Loongarch架构的ISO镜像。 到时候就可以先在dotnet的CI中先添加一个Loongarch的测试。为后续做好准备

c1e367ba5f26b8e7bf65e872bef6618

运行时更新

  • ARM64 代码生成:改进了加载和存储数据的指令,增强了执行时间和性能。

  • 代码布局:增强基本块排序,以最大化 fallthrough 行为和热代码密度,减少分支指令的数量。

  • 循环优化:识别翻转循环计数器变量的时机以提高性能。

  • 减少地址暴露:更好地跟踪局部变量地址以释放更多的优化机会。

  • AVX10v1 支持:新的 SIMD 指令集支持,允许在支持 AVX10 的硬件上进行矢量化操作。

  • 硬件内部代码生成:改进硬件内部函数中常量的处理,以生成加速代码。

  • 常量折叠:增强浮点和 SIMD 运算的常量折叠功能。

SDK 更新

  • NuGetAudit:现在会对传递依赖项中的漏洞发出警告,有助于维护项目安全。“NuGetAudit 最初是在 .NET 8 中添加的,如果项目使用的任何包存在已知漏洞,它会在还原期间发出警告,”Microsoft 解释道。“它需要一个提供漏洞数据库的包源,所以在实践中你需要使用 https://api.nuget.org/v3/index.json 作为包源,我们计划在不 nuget.org 作为包源的情况下允许审计。有关 NuGet 审核(包括所有配置选项)的详细信息,请参阅有关 NuGet 审核的文档

  • dotnet nuget why:一个新命令,用于查明你的项目为什么使用传递包。

  • MSBuild BuildChecks:引入它来在构建期间强制执行规则和不变量,类似于 Roslyn Analyzers,并针对共享输出路径和双写检测制定了新规则。

  .NET MAUI 更新

  • 质量改进:扩大测试覆盖范围、端到端场景测试和大量错误修复。

  • 适用于 Android 和 iOS 的 .NET:注重质量的更新,确保两个平台的应用程序开发稳健可靠。

ASP.NET Core 更新

  • 静态 Web 资产的指纹识别:自动生成静态资产的指纹版本,以改善缓存并加快加载时间。

  • 改进了 SignalR 的分布式跟踪:增强了 SignalR 集线器方法调用的跟踪功能。

  • Microsoft.AspNetCore.OpenAPI 的增强:改进了完成提供程序并支持 [Required] 和 [DefaultValue] 属性以及模式转换器。

  • [Authorize] 和 [AllowAnonymous] 分析器:当 [Authorize] 被 [AllowAnonymous] 覆盖时,新的分析器会发出警告。

  • ComponentPlatform 重命名为 RendererInfo:匹配新的命名约定。

  • 跨帧拆分大型 HTTP/2 标头:确保更好地处理大型标头。


.NET 9 预览版6的相关 GitHub 讨论,新讨论包括:

对于那些倾向于深入研究细节的人,可以在不同属性的发行说明中找到更多的指南,包括:

可以在 .NET 9 中的新增功能(上次更新于 6 月 11 日)中跟踪主要开发工作。该公司表示,它特别关注云原生应用程序和性能。

标签:社区,预览版,更新,发布,NET,Loongarch
From: https://www.cnblogs.com/shanyou/p/18297173

相关文章

  • 【Azure Developer】一个复制Redis Key到另一个Redis服务的工具(redis_copy_net8)
    介绍一个简单的工具,用于将Redis数据从一个redis端点复制到另一个redis端点,基于原始存储库转换为.NET8:https://github.com/LuBu0505/redis-copy-net8 RedisCopy.NET8RedisCopy控制台工具允许将Redis数据从一个Redis服务端复制到另一个。 Note: 不支持redis集群......
  • 端口映射Rinetd与访问控制tcpwrapper
    端口映射工具Rinetd虽然Linux本身自带的iptables可以实现端口转发功能,但其配置相对复杂。将TCP连接从一个IP地址和端口重定向到另一个IP地址和端口。rinetd是一个单进程服务器,处理与文件中指定的地址/端口对的任意数量的连接/etc/rinetd.conf。由于rinetd使用非阻塞I/O作为......
  • ComfyUI进阶篇:ControlNet核心节点
    前言:ControlNet_aux库包含大量的图片预处理节点,功能丰富,适用于图像分割、边缘检测、姿势检测、深度图处理等多种预处理方式。掌握这些节点的使用是利用ControlNet的关键,本篇文章将帮助您理解和学会使用这些节点。目录一、安装方法二、模型下载三、Segmentor节点四、Lines节......
  • 发布:PhonePrompter_PC(手机录视频提词器_电脑版)
    PhonePrompter_PC(手机录视频提词器_电脑版) 目      录1.     概述...22.     应用手册...3 下载地址:https://pan.baidu.com/s/1d_lBsVOFUn5QLthHFW5loQ?pwd=8wsa提取码:8wsa1.  概述   平时工作和生活中需要用手机竖屏或横屏模式录制造......
  • 常用koishi-plugin-network-data-getter api推荐
           随机美少女{"command":"随机美少女","desc":"","sourceUrl":"http://api.weboss.hk/random/api.php","sendType":"image","dataType":"resource"......
  • ali - Kubernetes镜像源
    1.Kubernetes镜像源配置由于Kubernetes官方变更了仓库的存储路径以及使用方式,如果需要使用1.28及以上版本,请使用新版配置方法进行配置。下载地址:https://mirrors.aliyun.com/kubernetes/新版下载地址:https://mirrors.aliyun.com/kubernetes-new/1.1配置方法新版配置方......
  • NETWORK [4] HTTP与HTTPS 协议
    HTTP协议概述        HTTP(HyperTextTransferProtocol,超文本传输协议)是用于分布式、协作式和超媒体信息系统的应用层协议。它是互联网上最广泛使用的协议之一,主要用于从万维网(WWW)服务器传输超文本到本地浏览器。HTTP是一个基于请求-响应模型的无状态协议,通常运行在TC......
  • Kubernetes安装-kubeadm方式
    环境1.软件版本系统版本centos7.9(内核采用4.19)docker20.10.15kubeadm1.22.172.ip划分主机名ip地址系统配置kubeadm-master10.103.236.2012core_2gkubeadm-node0110.103.236.2021core_2gkubeadm-node0210.103.236.2031core_2gkubeadm......
  • c#/.net HttpContext.Request.BodyReader(PipeReader)的读取方式
    publicasyncTask<string>GetString(){//防止中间件已经读取过数据Request.Body.Position=0;do{ReadResultreadResult=awaitRequest.BodyReader.ReadAsync();t......
  • Kubernetes高可用集群二进制离线部署(Runtime Docker)
    Kubernetes高可用集群二进制部署(RuntimeDocker)Kubernetes(简称为:k8s)是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了资源调度、部署管理、服务......