微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
2025年2月25日,.NET团队在博客上宣布了.NET 10 Preview 1的正式发布,文章参见:https://devblogs.microsoft.com/dotnet/dotnet-10-preview-1/,标志着.NET框架在跨平台开发领域迈出了重要一步。这一新版本在.NET Runtime、SDK、库、C#、ASP.NET Core、Blazor以及.NET MAUI等多个方面带来了重大改进和强。作为.NET 9的继任者,本次预览版延续了性能优化与AI集成的核心方向,同时为开发者带来更多前瞻性功能。这一跨平台开源框架的最新迭代集成了前沿的AI工具链、深度云原生优化,以及突破性的性能提升,为全球超过500万.NET开发者带来技术新范式。
.NET 10 Preview 1的主要亮点包括:
库增强:
- 提供了通过非SHA-1的指纹查找证书的功能,支持在ASCII/UTF-8中查找PEM编码的数据。
- 为DateOnly类型的ISOWeek添加了新方法重载,引入了处理字符跨度(Span of Characters)的字符串规范化API,以及用于字符串比较的数字排序功能。
- 改进了ZipArchive的性能和内存使用,为OrderedDictionary<TKey, TValue>添加了更多的TryAdd和TryGetValue重载,并增加了左撇子矩阵变换方法。
运行时优化:
- 引入了数组接口方法的去虚拟化,支持值类型数组的栈分配,并增加了对AVX10.2的支持。
SDK改进:
- 对框架提供的包引用进行了修剪,提高了构建效率和兼容性。
C#语言更新:
- 在未绑定泛型中支持nameof,实现了隐式范围转换,增加了基于字段的属性支持,允许在简单lambda参数上使用修饰符,并引入了实验性功能——数据段中的字符串字面量。
ASP.NET Core & Blazor:
- 支持OpenAPI 3.1,能够以YAML格式生成OpenAPI文档,改进了与顶级语句应用的集成测试,并为Blazor脚本添加了静态Web资产支持。
.NET MAUI质量提升:
- 专注于.NET MAUI的质量改进,包括CollectionView在iOS和Mac Catalyst上的增强。
Android、iOS、macOS和tvOS支持:
- 增加了对Android 16(Baklava)Beta 1的支持,改进了与JDK-21的兼容性,并默认启用了trimmer警告。
Windows Forms和WPF:
- Windows Forms方面,对剪贴板相关的序列化和反序列化进行了更改,并引入了新的剪贴板API。WPF则专注于质量改进,详细变化可参考发布说明。
Entity Framework Core:
- 支持.NET 10的LeftJoin操作符,ExecuteUpdateAsync现在接受普通的非表达式lambda。
.NET 10 Preview 1的安装与体验
为了体验.NET 10 Preview 1带来的新特性和改进,用户可以下载并安装.NET 10 SDK:https://dotnet.microsoft.com/download/dotnet/10.0。对于使用Windows和Visual Studio的开发者,建议安装最新的Visual Studio 2022预览版。此外,Visual Studio Code和C# Dev Kit扩展也支持.NET 10。
微软还邀请开发者参加.NET 10 Preview 1的开箱直播活动,与团队一起探讨这一预览版的新功能,并观看开发团队的现场演示。
.NET 10的未来发展
微软团队将继续在dotnet/core GitHub Discussions上发布月度公告和完整的发布说明,并与社区保持密切互动,收集反馈意见。开发者可以通过订阅GitHub Discussions RSS新闻源来获取.NET 10的最新动态,并前往.NET 10 Preview 1 GitHub Discussion讨论新功能并提供反馈。
随着.NET 10 Preview 1的正式发布,跨平台开发领域将迎来更加广阔的发展前景。我们期待开发者们能够充分利用这一新版本带来的优势,构建出更加高效、强大和现代化的应用程序。
微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章的更多相关文章
- 微软正式发布Chromium Edge开发预览版
目录 下载与注册 更多下载信息与订阅 导入Chrome部分数据 扩展安装 安装开发预览版是否会与Win10自带的Edge冲突? 一大早从朋友圈看到消息,微软正式发布Chromium Edge 开发预览 ...
- 微软发布Windows 10:连Windows 7都能免费升级了
今日凌晨,微软宣布Windows 10发布. Windows10 整体重置了 Window8 的设计,恢复了原有的开始菜单设置,系统新增了虚拟桌面功能,搜索框加分类项的形式替代原有的两栏式控制面板界面 ...
- OSX 10.8+下开启Web 共享 的方法
MENU Home Archives About SUBSCRIBE ☰MENU OSX 10.8+ Mountain Lion 下开启 Web Sharing(Web 共享)的方法 JUL 28, ...
- OSX 10.8+下开启Web 共享 的方法
MENU Home Archives About SUBSCRIBE ☰MENU OSX 10.8+ Mountain Lion 下开启 Web Sharing(Web 共享)的方法 JUL 28, ...
- 微软正式发布Windows 1.0 回顾历代Windows版本界面
在刚过去的上月底,Windows XP过完了12岁生日,在今天我们又欢快地迎来了Windows的生日.在1985年11月20日,微软正式发布Windows 1.0,它基于的是MS-DOS系统,实际上其 ...
- 黑苹果10.10.3手动开启SSD的TIRM提高硬盘效率
黑苹果10.10.3手动开启SSD的TIRM提高硬盘效率 文章前言 其实开启TIRM的方法有很多,比如用Clover注入的方式或者用其他的工具来方便完成,但是10.10.3刚刚出来有些工具还没有更新的 ...
- 微软正式发布Visual Studio 2013 Update 3 (2013.3) RTM
昨天微软的Visual Studio 2013 Update 3(Visual Studio 2013.3)正式发布(RTM)了,做为微软认证金牌合作的葡萄城控件,我们组织力量第一时间进行翻译.分享给 ...
- 获取微软原版“Windows 10 推送器(GWX)” 卸载工具
背景: 随着Windows 10 免费更新的结束,针对之前提供推送通知的工具(以下简称GWX)来说使命已经结束,假设您还未将Windows 8.1 和Windows 7 更新到Windows 10 的 ...
- 微软已于10月底停止销售预装Windows 7/8.1的电脑
如果你想买新电脑,但是对Windows 10不感冒,你最好抓紧时间,因为这个月底是Windows7和Windows8.1的最后销售期限.10月31号是你能买到预装这两款操作系统的新电脑的最后一天,微软 ...
- OSX 10.8+下开启Web共享的方法 /转
OSX 10.8+ Mountain Lion 下开启 Web Sharing(Web 共享)的方法 JUL 28, 2012 #OS X #how-to #apache #web #sha ...
随机推荐
- 关于 Span 的一切:探索新的 .NET 明星: 1 Span<T> 是什么?
关于 Span 的一切:探索新的 .NET 明星 https://docs.microsoft.com/en-us/archive/msdn-magazine/2018/january/csharp- ...
- Linux 网络设置及管理
Linux 网络管理 网络管理 1.使用NetworkManager管理网络 NetworkManager(网络管理器)是一个动态网络的控制器与配置系统,它用于当网络设备可用时保持设备连接和开启并激活 ...
- 2024年1月Java项目开发指南16:用户自由选择字段查询、是否模糊查询
我们希望用户可以自己控制是否要模糊查询 用户可以自由的选择字段去查询. 如上图,我在前端页面准备了 多选框:决定是否模糊查询.(True or False) 下拉选择框:决定要查询关键词的所属字段 输 ...
- 【单片机】初次实验:Keil51的使用
哔哩哔哩/CSDN/博客园:萌狼蓝天 延时器 delay(int count){ int i,j; for(i=0;i<count;i++){ for(j=0;j<1000;j++); } ...
- iOS app 自动化测试,appium inspector 启动会话报错:Failed to create session. An unknown server-side error occurred while processing the command. Original error: '12.5.5' does not exist in the list of simctl SDKs.
报错内容:Failed to create session. An unknown server-side error occurred while processing the command. O ...
- Qt/C++音视频开发75-获取本地有哪些摄像头名称/Qt内置函数方式
一.前言 在需要打开本地摄像头的场景中,有个需求绕不开,那就是如何获取本地有哪些摄像头设备名称,这样可以提供下拉框给用户选择,不然你让用户去填设备名,你觉得用户会知道是啥,他会操作吗?就算你提供了详细 ...
- Qt音视频开发47-通用视频控件
一.前言 自从视频监控系统的内核不断增加,从最初的vlc到ffmpeg然后到mpv,后面还陆续增加了海康sdk等,每次增加一个内核,整个视频监控系统就有三五个代码文件需要修改,而且大部分是重复的代码, ...
- Qt音视频开发39-人脸识别在线版
一.前言 关于人脸识别这块,前些年不要太火,哪怕是到了今天依然火的一塌糊涂,什么玩意都要跟人脸识别搭个边,这东西应该只是人工智能的一个很小的部分,人脸识别光从字面上理解就是识别出人脸区域,其实背后真正 ...
- 启动redis失败Could not create server TCP listening socket 127.0.0.1:6379:bind:操作成功
问题: 启动redis失败Could not create server TCP listening socket 127.0.0.1:6379:bind:操作成功 解决方法: 在命令行提示符C:\P ...
- 微信团队分享:详解iOS版微信视频号直播中因帧率异常导致的功耗问题
本文由微信客户端团队rhythm分享,原题"视频号直播:如何进一步降低功耗占用?",本文有修订和改动. 1.引言 功耗优化一直是 app 性能优化中让人头疼的问题,尤其是在直播这种 ...