.NET 9 预览版 5 发布

news/2024/11/18 5:26:46/文章来源:https://www.cnblogs.com/shanyou/p/18293072

微软在6月发布了.NET 9预览版的第五个版本。这个新版本的框架预计将在今年晚些时候正式发布,它是一个标准支持(STS)版本,将在2024年11月12日至2026年5月12日期间在多个操作系统上获得18个月的支持。这个预览版带来了性能改进和一些新特性,例如增强的AI能力、优先级无界通道、SearchValues的子字符串搜索,以及在OpenTelemetry中更灵活的活动链接。

其中一个最重要的特性是AI能力的扩展,包括TensorPrimitivesTensor<T>类型的更新版本。TensorPrimitive类提供了对数值操作的静态方法,其方法覆盖范围从.NET 8的40个增加到大约200个。新引入的Tensor<T>类型旨在提供与AI库(如ML.NET)的高效互操作性,并支持数据操作,如索引和切片。

另一个有趣的更新是优先级无界通道。无界通道是指没有存储项目数量限制的线程通道。新引入的优先级通道通过在System.Threading.Channels库中添加CreateUnboundedPrioritized<T>方法来提供,该通道按Comparer<T>.Default或提供的自定义IComparer<T>对元素进行排序。

此外,.NET 8中引入的SearchValues类型现在支持在更大的字符串中搜索子字符串,这是利用底层平台SIMD支持的优化实现。OpenTelemetry活动链接现在通过添加System.Diagnostics.Activity.AddLink方法变得更加灵活。

其他更新包括用于Task的新API,特别是新的Task.WhenEach方法,它允许使用await foreach循环遍历任务,直到它们完成。还包括对TypeDescriptor类的修剪支持,一个新的TypeName类用于解析ECMA-335类型名,以及paramsSpan重载的更好性能。


ASP.NET Core 9预览版的第五个版本的这个更新主要集中在优化静态网络资产的交付和改善Blazor Server的重连体验上,同时还引入了用于运行时检测组件渲染模式的新特性以及其他各种改进,旨在简化开发并提升用户体验。

主要改进包括:

  1. 静态网络资产交付优化:新的MapStaticAssets API旨在大多数情况下替代UseStaticFiles。它针对在构建和发布时已知的资产进行优化,使用gzip和brotli压缩,减少资产大小并提高用户加载时间。

  2. Blazor Server重连体验改善:Blazor Server应用需要实时连接才能正常工作。新变化引入了指数退避策略进行重连尝试,快速开始并逐渐引入延迟。

  3. 运行时检测组件渲染模式:ComponentBase类现在包括一个Platform属性,即将更名为RendererInfo,具有Name和IsInteractive属性。这些属性帮助开发者了解组件运行的位置以及是否可交互。

  4. 简化Blazor Web应用的认证状态序列化:新的API使得向现有项目添加认证变得更加容易。

  5. 新的.NET MAUI Blazor混合和Web解决方案模板:这个模板简化了创建针对Android、iOS、Mac、Windows和Web的应用,同时最大化代码重用,并自动为Blazor Web应用和.NET MAUI Blazor混合应用设置项目。

.NET 9 MAUI预览版的第五个版本的这个更新带来了新的.NET MAUI Blazor混合和Web应用项目模板,以及对Android API 35 Beta 2的支持,同时在Android平台上对性能和应用大小进行了优化。

新引入的.NET MAUI Blazor混合和Web解决方案模板简化了创建针对Android、iOS、Mac、Windows和Web的应用,同时最大化代码重用,并自动为Blazor Web应用和.NET MAUI Blazor混合应用设置项目。值得注意的是,MAUI Blazor混合应用在目标设备上使用WebView和Blazor移动视图进行渲染,并不是一个完全成熟的本地应用。

对于非Blazor MAUI应用在Android上的运行,预览版5带来了大约15%的启动时间性能提升。为了实现这一点,代码默认使用LLVM marshall方法,修改汇编代码以使用LLVM marshalling结构。对于MAUI Blazor应用在Android上,团队发现了一个导致应用程序挂起的问题,并正在调查根本原因。因此,如果项目针对Blazor应用,则禁用此性能优化。

随着Android 15 Beta计划的进展,.NET 9 MAUI预览版5增加了对Android API 25 Beta 2的绑定,对应于Android 15 Beta 2的发布。读者可以在Android Developers网站上找到Android API 25 Beta 2的完整更改日志。

此外,还添加了大小修剪增强功能,以在发布编译模式下减少编译后的应用大小。可以在项目文件中禁用此功能。

iOS上.NET MAUI实现的增强主要集中在修复错误和改进构建质量上。

完整的发布说明可以在GitHub官方MAUI仓库中找到。此外,GitHub上还提供了所有五个.NET 9预览版中MAUI更改的完整列表。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/741491.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

EasyExcel当导出的文件内容为空时,报错excel无法打开xxxx,因为文件格式或扩展名无效,请确定文件未损坏

问题 EasyExcel 导出打开提示"Excel 无法打开文件 xxxxx.xlsx ,因为文件格式或文件扩展名无效 请确定文件未损坏,并且文件扩展名与文件的格式匹 排查 发现是在mysql查询完要导出的数据后,判断查询内容是否有值,如果有的话才进行excelWriter.write(dataList, writeSheet)…

读人工智能全传08人工智能的今天

读人工智能全传08人工智能的今天1. 人工智能的今天 1.1. 未来,或许有些领域会有非常明显的人工智能痕迹,有些领域则不会 1.2. 2018年,来自计算机视觉处理器公司英伟达的研究人员证明了人工智能软件能够创造出虚假的人物照片,并且能够完全令人相信它是…

Java CompletableFuture因在上下文中使用共享变量,导致线程安全问题

背景 在使用CompletableFuture.supplyAsync()时,多个异步中,同时共用的一个查询对象参数,而且在这多个任务中间会穿插地对这个对象进行更改,出现的现象就是可能会导致最终get()结果不符合我们的预期。最终调整方案就是在每个任务supplyAsync()之前单独赋予一个新的final对象…

MySQL中修改一个数据库下包含有某个相同字段的所有表的字段长度

背景 由于业务场景导致某个字段如phone_name涉及到表比较多,目前很多表都有冗余这个字段,但是前期给的字段长度只有varchar(100),不满足目前的需要了,需要把所有的表的字段长度都增大到varchar(255),如果手动一个个修改的话,那么有几百张表,很花时间,所有想到如下办法,…

领取serv00免费虚拟主机

参考 ‍ 教程地址【免费serv00虚拟机SSH登录搭建网站】 ‍ 领取地址 ​​ 领到了 ​​ 登录成功 ​​ 放放上自己的静态网站 ​​ ‍ soulio.serv00.net 缺点:网站的URL中含有中文就会404。权限很少,改不了服务器配置。如果是nginx就好了,nginx支持中文路径。 ​​ URL全英文…

新版mac配置多版本JDK切换和maven套件

新版mac配置多版本JDK和maven套件 新版本的macOS Sonoma系统配置多版本的JDK和Maven开发套件。有平时开发和学习用到的JDK是不同版本的需求,就直接安装多个版本的JDK,使用的时候直接命令进行对应版本的切换,要做到切换JDK版本,可以自己配置并在终端切换,或者使用java的版本…

4.show

学习 Admonitions(警告) - Material for MkDocs (wdk-docs.github.io) 提示 - Material for MkDocs 中文文档 (llango.com) Buttons(按钮) - Material for MkDocs (wdk-docs.github.io) 建议去看这些网站,更为详细。常用功能 便利贴 ​​ 开启 markdown_extensions:- admoniti…

5.更多

发现一个项目与 MkDocs 类似的项目 PyMdown 拓展文档 ,等待探索。1.排版模仿 以下网站使用 MkDocs 构建Material for MkDocs 的美化 - Charles Les Notebook (charleschile.com)Documentation - Home Assistant (home-assistant.io)Godot Docs – master branch — Godot Engi…

6.附录

安装插件 在 MkDocs 中,插件通常是通过 pip​ 工具安装的。你可以使用以下步骤来安装和配置 MkDocs 插件。 1.使用 pip​ 命令安装你需要的插件。例如 pip install pymdown-extensions‍ 2.更新 mkdocs.yml​ 文件。 ‍ 3.使用 mkdocs serve​ 命令本地预览你的文档网站。 ‍ …

2.快速上手MkDocs

快速上手 !!! info "注意" 每次使用 MkDocs 首先进入 python 虚拟环境。 创建项目 mkdocs new ~/mkdocs/预览网站 cd ~/mkdocs/ mkdocs serve 127.0.0.1:8000​ 预览效果 ​​ 构建网站 mkdocs build项目结构 项目结构 ├── docs/ │ └── index.md ├── …

谷歌语法

谷歌语法:帮助我们更好的检索有用信息 1、site:指定域名 例如:在博客园当中查找学习文章 site:cnblogs.com2、intitle:搜索网页标题中的关键字 例如:在博客园当中查找网页标题中包含mysql的学习文章 site:cnblogs.com intitle:MYSQL常用SQL语句3、intext:搜索网页正文中的…

证书-双证书请求文件

1.背景关于数字证书、数字信封、OID等基本知识,此文不做赘述。在传统的数字信封体系中,我们的流程大概这样的。这里有个值得注意的点是: 节点1用于加密对称密钥的公钥和节点3用于签名的私钥,它们是否可以是同一对。 基于这个思想,我们有了单证书体系和双证书体系。 其原因…