.NET 7 Preview 1 已正式发布

简介: .NET 7 Preview 1 已正式发布

近日,.NET 7 第一个预览版 .NET 7 Preview 1 正式发布。

.NET 7 建立在 .NET 6 建立的基础之上,包括一套统一的基础库、运行时和 SDK,简化了开发体验,提高了开发人员的工作效率。.NET 7 的主要关注领域包括改进对云原生方案的支持、更容易升级旧项目的工具,以及通过更轻松地使用容器来简化开发人员体验。

.NET 7 Preview1包括对 API 的可空注释、持续的JIT 编译器优化、新的 API 以及对更多热重载方案的支持。

.NET 7 Preview 1 主要更新内容

Microsoft.Extensions 的可空注解

.NET  在注释 Microsoft.Extensions.* 库,以实现可空性(nullability)方面取得了进展。在 .NET 7 Preview 1 中,以下库已针对可空性进行了注释:

  • Microsoft.Extensions.DependencyInjection.Abstractions
  • Microsoft.Extensions.Logging.Abstractions
  • Microsoft.Extensions.Primitives
  • Microsoft.Extensions.FileSystemGlobbing
  • Microsoft.Extensions.DependencyModel
  • Microsoft.Extensions.Configuration.Abstractions
  • Microsoft.Extensions.FileProviders.Abstractions
  • Microsoft.Extensions.FileProviders.Physical
  • Microsoft.Extensions.Configuration
  • Microsoft.Extensions.Configuration.Binder
  • Microsoft.Extensions.Configuration.CommandLine
  • Microsoft.Extensions.Configuration.EnvironmentVariables
  • Microsoft.Extensions.Configuration.FileExtensions
  • Microsoft.Extensions.Configuration.Ini
  • Microsoft.Extensions.Configuration.Json

我们计划在 .NET 7 正式发布时为所有 Microsoft.Extensions.* 库添加可空性注释。

可观察性

继续改进跟踪 API:

  • 添加ActivityContext.TryParse重载以允许解析和创建ActivityContext对象,包括是否从远程父级传播活动上下文(相关问题)。
  • 添加Activity.IsStopped指示Activity对象是否停止的方法(相关问题)。

代码生成

根据社区意见对代码生成进行了改进

  • 将一些旧式内部函数转换为 NamedIntrinsic 。  #62271
  • 将额外的二进制操作添加到 RangeCheck 分析中。#61662
  • [JIT] [61620] 针对 *x = dblCns 优化 ARM64;#61847
  • CoreRT 支持 ARM64&Unix 。#41023
  • 基于覆盖的 FMA codegen 优化 #58196

动态 PGO

  • 对 Arm64 的 OSR 支持
  • JIT:支持同步方法的 OSR
  • JIT:处理 OSR、PGO 和尾调用的交互
  • 添加 2009 Jit 架构计划(节选)
  • JIT:一些 relops 的有限版本的前向替换
  • JIT:为后期去虚拟化保存泛型上下文

Arm64

Arm64:内存屏障改进

循环优化

  • 泛化循环前标头创建和循环提升
  • 循环重构和注释改进

互操作:p/Invoke 代码生成

我们将在 .NET 6 中原型化的 p/invoke 源生成器(Source Generator) 集成到 dotnet/runtime 中,并且一直在转换运行时库以使用它。这意味着转换后的 p/invokes 与 AOT 兼容,不再需要在运行时生成 IL Stub。

System.Text.Json 中的新 API

System.Text.Json 附带了一些小的生命周期增强功能:

  • 开发人员现在可以访问 System.Text.Json 内部使用的默认单例JsonSerializerOptions(相关问题)。
  • 添加一个JsonWriterOptions.MaxDepth属性并确保此值来自序列化的JsonSerializerOptions.MaxDepth等效属性(相关问题)。
  • 将Patch方法添加到System.Net.Http.Json

热重载改进

下列更改适用于  Blazor WebAssembly 和 .NET 的 C# 热重载

  • 向现有方法添加静态 lambda
  • 将捕获这个的 lambda 添加到已经有至少一个捕获这个的 lambda 的现有方法中
  • 向现有类添加新的静态或非虚拟实例方法
  • 向现有类添加新的静态字段
  • 添加新类
相关文章
|
22天前
|
Linux 程序员 数据格式
【2026最新】Notepad++下载、安装和使用一篇搞定(附中文版安装包)
Notepad++ 是一款免费开源、轻量高效的 Windows 文本编辑器,支持 C/Python/HTML 等 80+ 语言语法高亮、代码折叠、正则替换、编码转换及插件扩展,专为程序员与文本处理用户打造,完美替代系统记事本。(239字)
|
8天前
|
人工智能 缓存 安全
Claude Code 封号真实原因曝光,这次彻底不装了,直接针对国内开发者的账号下手?
Claude Code 封号潮背后:逆向扒出客户端隐写区域标记,Anthropic 政策收紧叠加 DeepSeek 7 月涨价,国产替代更紧迫。
|
13天前
|
人工智能 JSON 自然语言处理
让教学更智慧:用阿里云百炼工作流,自动生成中小学教材内容#小有可为#有温度的AI
通过可视化工作流编排,将大模型推理能力转化为标准化的教学内容生成引擎。教师只需输入教材标题和适用学段,即可自动获得结构完整、符合课程标准的章节内容,大幅降低备课门槛,助力教育资源均衡化。
496 127
|
17天前
|
存储 人工智能 监控
QoderWork完全指南:从入门到精通,把“AI实习生”变成你的全能工作搭档
阿里云2026年推出的桌面端AI工作助手QoderWork,不止聊天,更可动手干活:本地运行、安全可控,支持文件整理、数据分析、PPT生成、网页开发等;内置专家套件、多Agent协作与自定义Skills,让AI真正成为你身边的“AI实习生”。
|
8天前
|
人工智能 安全 程序员
终于,Claude Code 封号的原因被曝光了!竟然针对中国用户,植入隐形代码?!
通俗易懂地揭秘 Claude Code 封号的手段,分享一些自己对 AI 编程困境的思考,Codex、Cursor、DeepSeek、智谱 GLM、甚至是豆包,都有所行动了
463 1
|
9天前
|
人工智能 安全 Cloud Native
Higress 新发布:AI Gateway 能力增强,Gateway API 及其推理扩展持续打磨
增强 AI 网关能力,持续打磨 Gateway API 及其推理扩展。
393 125
|
6天前
|
人工智能 编解码 物联网
2026 最新Stable Diffusion 本地部署教程 下载安装使用详细图解(含官网安装包)
Stable Diffusion(SD)是2022年发布的开源文生图模型,由Stability AI等联合开发。支持文生图、图生图、局部重绘等,依托VAE降低算力需求,可在消费级显卡运行。本文提供秋葉aaaki制作的Windows整合包(含图形界面与插件),开箱即用,零配置启动。