前言

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. Flutter & Xcode15-beta 冲突

    安装了Xcode15-beta后运行 Flutter 一直报有两个相同的文件冲突,这时候指定一下 Xcode-beta 的位置就好了 sudo xcode-select --switch /Appli ...

  2. solon 集成 activemq-client (sdk)

    原始状态的 activemq-client sdk 集成非常方便,也更适合定制.就是有些同学,可能对原始接口会比较陌生,会希望有个具体的示例. <dependency> <group ...

  3. 【Linux】当初的学习笔记

    目录 Linux 笔记 linux基本概念 linux终端四部分 linux的实质 linux系统操作命令 查询用户 who who -H whoami 修改密码 快速切换到用户目录 sshd sys ...

  4. 【MyBatis】学习笔记15:通过分步查询解决一对多或多对多问题

    目录 对象 SmbmsProvider.java SmbmsBill.java 接口 providerMapper.java orderMapper.java 映射文件 providerMapper. ...

  5. StreamUtils

    package com.redis.utils; import com.SpringUtils; import com.StringUtils; import lombok.extern.slf4j. ...

  6. Spring Boot中通过RabbitTemplate主动pull(get)消息的例子

    import java.util.Properties; import java.util.function.Consumer; import org.slf4j.Logger; import org ...

  7. 为什么 Llama 3.3 70B 比 GPT-4o 和 Claude 3.5 Sonnet 更优秀

    过去七天的 AI 新闻如狂风暴雨般涌来,AI 世界发生了许多重大变化.在这篇文章中,我们将深入探讨来自 Llama 3.3 70B.GPT-4o 和 Claude 3.5 Sonnet 等主要参与者的 ...

  8. Qt开源作品35-秘钥生成器

    一.前言 在很多商业软件中,需要提供一些可以试运行的版本,这样就需要配套密钥机制来控制,纵观大部分的试用版软件,基本上采用以下几种机制来控制. 远程联网激活,每次启动都联网查看使用时间等,这种方法最完 ...

  9. [转]When allowCredentials is true, allowedOrigins cannot contain the special value “*“

    前言 项目接口访问出现allowedOrigins cannot contain the special value "*" java.lang.IllegalArgumentEx ...

  10. 即时通讯技术文集(第29期):IM开发技术合集(Part2) [共18篇]

    为了更好地分类阅读 52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第29 期. [- 1 -] 谈谈移动端 IM 开发中登录请求的优化 [链接] http://w ...