.NET 7 预览版 1 已发布

栏目: 软件资讯 · 发布时间: 2年前

内容简介:伴随着 .NET 诞生 20 周年。.NET 7 第一个预览版 .NET 7 Preview 1 正式发布。.NET 7 Preview 1 包括对 API 的可空注释、持续的 JIT 编译器优化、新的 API 以及对更多热重载方案的支持。 目前 .NET 7 Preview 1 已...

伴随着 .NET 诞生 20 周年。.NET 7 第一个预览版 .NET 7 Preview 1 正式发布。.NET 7 Preview 1 包括对 API 的可空注释、持续的 JIT 编译器优化、新的 API 以及对更多热重载方案的支持。

目前 .NET 7 Preview 1 已通过 Visual Studio 17.2 预览版 1 进行测试,在此可下载 ,适用于 Windows、macOS 和 Linux 。

Microsoft.Extensions 的可空(nullable)注释

.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.* 库添加可空性注释。可以在 dotnet/runtime#43605 处关注进度。

可观察性(继续改进跟踪 API)

继续改进跟踪 API:

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

代码生成

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

动态 PGO

Arm64

互操作:p/Invoke 代码生成

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

未来打算让 p/invoke 源生成器在运行时之外可用,可以在dotnet/runtime#60595 中关注剩余的工作。

System.Text.Json 中的新 API

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

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

热重载改进

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

  • 向现有方法添加静态 lambda
  • 将捕获这个的 lambda 添加到已经有至少一个捕获这个的 lambda 的现有方法中
  • 向现有类添加新的静态或非虚拟实例方法
  • 向现有类添加新的静态字段
  • 添加新类

已知的问题:

  • 不支持新增类中的实例字段
  • 现有或新类中新添加的方法和字段对反射不可见

可以在 dotnet/runtime#57365 中关注进度

 

发布公告:https://devblogs.microsoft.com/dotnet/announcing-net-7-preview-1/


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

面向对象分析与设计

面向对象分析与设计

Grady Booch、Robert A. Maksimchuk、Michael W. Engel、Bobbi J. Young、Jim Conallen、Kelli A. Houston / 王海鹏、潘加宇 / 人民邮电出版社 / 2009-8 / 79.00元

《面向对象分析与设计(第3版)》是UML创始人Grady Booch的代表作之一,书中介绍的概念都基于牢固的理论基础。同时,《面向对象分析与设计(第3版)》又是一本注重实效的书,面向架构师和软件开发者等软件工程实践者的实际需要。《面向对象分析与设计(第3版)》通过大量例子说明了基本概念,解释了方法,并展示了在不同领域的成功应用。全书分为理论和应用两部分。理论部分深刻剖析了面向对象分析与设计(OOA......一起来看看 《面向对象分析与设计》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具