前言

2024年2月25日,微软正式推出 .NET 10 预览版 1,标志着这一跨平台开发框架迈入新里程碑。

本次更新聚焦 JIT 编译器优化、运行时性能提升和跨平台开发体验增强,同时引入多项开发者期待的功能改进。

无论是服务端应用、移动开发,还是桌面程序,.NET 10 都展现了强大的技术演进潜力。

可以下载体验

https://dotnet.microsoft.com/zh-cn/download/dotnet/10.0

核心功能更新

1、证书与安全增强

支持通过 非 SHA-1 指纹(如 SHA-256) 查找证书,提升安全性。

新增在 ASCII/UTF-8 编码数据中直接定位 PEM 格式证书 的能力。

2、时间与数据处理优化

ISOWeek 类型新增对 DateOnly 的重载方法,简化日期计算。

TimeSpan.FromMilliseconds 新增单参数重载,减少冗余代码。

3、字符串与集合改进

字符串比较支持 数值排序(如 "file10" 排在 "file2" 之后)。

OrderedDictionary<TKey, TValue> 新增 TryAdd 和 TryGetValue 方法,增强健壮性。

4、性能突破

ZipArchive 实现内存与性能优化,减少压缩解压开销。

运行时支持值类型数组的栈分配,降低GC压力。

运行时与编译器

  • JIT 编译器进化:数组接口方法去虚拟化,提升执行效率。
  • 硬件加速:新增对 AVX10.2 指令集的支持,强化向量计算能力。
  • SDK 精简:移除框架默认包引用,降低项目依赖冗余。

语言特性升级

1、C# 新特性

nameof 支持泛型类型参数,增强元数据表达。

隐式 Span 转换简化内存操作代码。

实验性功能:允许在数据段中直接嵌入字符串字面量。

2、F# 与 Visual Basic

F# 标准库与编译器服务同步更新。

VB 新增 unmanaged 泛型约束,支持更安全的非托管类型操作。

跨平台开发支持

1、ASP.NET Core & Blazor

原生支持 OpenAPI 3.1,可生成 YAML 格式文档。

ProducesResponseType 添加响应描述,提升API可读性。

Blazor 组件支持路由语法高亮,优化开发体验。

2、移动与桌面开发

.NET MAUI:重点优化 iOS/Mac Catalyst 的 CollectionView 性能。

Android 开发:支持 Android 16 Beta,默认启用 marshal 方法,构建效率提升。

iOS/macOS:默认启用 Trimmer 警告,减少未使用代码体积。

3、Windows 生态

Windows Forms:重构剪贴板API,弃用旧方法并提供更安全的替代方案。

WPF:持续质量改进,提升稳定性。

数据与工具链

  • EF Core 8:新增 LeftJoin 操作符,ExecuteUpdateAsync 支持常规 Lambda 表达式。
  • 容器镜像:基于 Ubuntu 24.04 和 Debian 13 构建,提供更轻量的 Chiseled 镜像。

相关链接

GitHub:https://github.com/dotnet

.NET 10 SDK: https://dotnet.microsoft.com/zh-cn/download/dotnet/10.0

Visual Studio 2022 预览版: https://visualstudio.microsoft.com/zh-hans/vs/preview/#download-preview

总结

.NET 10 Preview 1 的发布,展现了微软在性能优化、跨平台一致性和开发者体验上的持续投入。

从硬件级指令加速到剪贴板API重构,从字符串处理到容器镜像升级,每一项改进都直击开发痛点。

对于企业级应用开发者而言,本次更新不仅意味着更高效的代码执行,更预示着 .NET 生态在云原生与AI时代的强大竞争力。

大家可以下载体验,探索新特性在项目中的落地可能性。

最后

如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。

也可以加入微信公众号[DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!优秀是一种习惯,欢迎大家留言学习!

.NET 10 首个预览版发布,跨平台开发与性能全面提升的更多相关文章

  1. Visual Studio 2015 预览版 - 支持跨平台开发Android/iOS应用程序(内置安卓模拟器)

    微软最近的惊人举动真多,对普通消费者Office 移动版宣布免费,对开发者也发布了完全免费的 VS2013 社区版! 不仅如此,就连 .Net 开发框架环境也竟然「开源」并且跨平台支持 Mac 及 L ...

  2. Windows 10简体中文最新预览版Build 9926

    Windows 10 消费者预览版全新特性: • 全新的开始菜单Win 10的开始菜单产生了较大改变,磁贴界面在原有磁贴概念的基础上进行了大幅度的调整,新的磁贴界面开始支持纵向滚动,并可以利用开始按钮 ...

  3. PHP专业开发IDE——Zend Studio 10.5预览版发布

    Zend Studio是新一代的PHP IDE,高效的开发和维护PHP代码是它的核心.Zend公司目前已发布了Zend Studio 10.5预览版,预览版中提高了快速响应能力和时时误差检查.因此使用 ...

  4. sql server 2014预览版发布

    MSDN发布sql server2014预览版,如下图: SQL Server 2014新特性: 微软SQL Server部门主管Eron Kelly介绍,通过将交易处理放到内存中进行,新的SQL S ...

  5. Window 7 平台的IE11浏览器预览版发布

    继之前Windows 8.1 带来了IE11浏览器之后,今天Window 7 以及Windows Server 2008 R2平台的IE11浏览器预览版也已经发布. 当然这还只是一个开发者预览版,可能 ...

  6. VS2019预览版发布了

     VS2019正式版已发布:https://www.cnblogs.com/zhaogaojian/p/10648904.html 1.点击下载https://visualstudio.microso ...

  7. HarmonyOS 3.0.0开发者预览版全新发布

    2021年10月22日在华为开发者大会HDC.Together 2021 主题演讲上,我们发布了HarmonyOS 3.0.0开发者预览版,主要内容包括:Harmony设计系统.ArkUI 3.0.A ...

  8. .NET 7 发布的最后一个预览版Preview 7, 下个月发布RC

    微软在2022年8月9日 发布了.NET 7 Preview 7[1],这是它在11月10日 RTM 之前进入发布候选阶段之前的最后预览版. 预览版 7 已在 Visual Studio 17.4 预 ...

  9. 终于等到你!微软正式上线 Windows Terminal 预览版

    前一段时间,一直在知乎.技术社区收到技术小伙伴们的终极拷问:微软Build 大会上提到的**6月中旬**要上Windows store 的 Windows Terminal 到底啥时候可以用到呀? 有 ...

  10. 谷歌发布 Android 8.1 首个开发者预览版,优化内存效率

    今晨,谷歌推出了 Android 8.1 首个开发者预览版,此次升级涵盖了针对多个功能的提升优化,其中包含对 Android Go (设备运行内存小于等于 1 GB)和加速设备上对机器学习的全新神经网 ...

随机推荐

  1. 不错的AI项目集合

    最近收集了一些不错的AI项目. AutoGPT:AutoGPT 的愿景是让每个人都可以使用和构建无障碍 AI.我们的使命是提供工具,以便您可以专注于重要的事情. Stable Diffusion we ...

  2. nanoFramework

    nanoFramework 01: Getting started with nanoFramework! 08: .NET nanoFramework GPIO, I2C, SPI and othe ...

  3. TS 原理详细解读(6)--语法增量解析

    呃....4年前开了一个坑,准备写一套完整介绍TS 原理的文章.坑很大,要慢慢填,今天就来填一个把. 本节主要介绍语法增量解析. 什么是增量解析 增量解析的意思是,如果我们直接从源码解析成语法树,叫做 ...

  4. arch 音频处显示没有输入或输出设备

    我的设备是 Dell G15 5511, 属于比较新的设备, 查看了 Fourm 与 wiki 后使用 1 yay -S sof-firmware   安装框架之后重启即可使用.

  5. JGit的常用功能(提交、回滚,日志查询)

    最近项目中要做一个回滚功能,目的是如果这次发布出现了问题,立马回滚到上一次发布的版本,用jgit实现的,具体方法如下: public class GitUtil { private final sta ...

  6. jQuery ajax - serializeArray() 方法 实例表单提交

    serializeArray()在ajax表单提交时候非常方便获取元素 定义和用法 serializeArray() 方法通过序列化表单值来创建对象数组(名称和值). 您可以选择一个或多个表单元素(比 ...

  7. Qt/C++音视频开发49-推流到各种流媒体服务程序

    一.前言 最近将推流程序完善了很多功能,尤其是增加了对多种流媒体服务程序的支持,目前支持mediamtx.LiveQing.EasyDarwin.nginx-rtmp.ZLMediaKit.srs.A ...

  8. Qt开源作品11-屏幕录制控件

    一.前言 在平时的写作过程中,经常需要将一些操作动作和效果图截图成gif格式,使得涵盖的信息更全面更生动,有时候可以将整个操作过程和运行效果录制成MP4,但是文件体积比较大,而且很多网站不便于上传,基 ...

  9. [转]Ceres求解优化问题

    1. 简介Ceres Solver是专门用于求解非线性最小二乘问题的C++开源库,研究SLAM方向不过滤波和优化两个技术路线,因此常用Ceres库解决实际项目中的优化问题,当然还有g2o同样可用,但就 ...

  10. [转]vue:引入外部cdn报错 ‘XXX is not defined’ 及事件处理办法

    框架:vue-cli(vue脚手架) 例:以cdn引入腾讯防水墙为例 前因:在html的head中引入外部cdn链接, 在vue文件中直接使用,如图: 结果:如图报错. 解决办法: 1. 在index ...