.NET 7 预览版 1 已发布

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

内容简介:伴随着 .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/


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

查看所有标签

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

Algorithms and Theory of Computation Handbook

Algorithms and Theory of Computation Handbook

Mikhail J. Atallah (Editor) / CRC-Press / 1998-09-30 / USD 94.95

Book Description This comprehensive compendium of algorithms and data structures covers many theoretical issues from a practical perspective. Chapters include information on finite precision issues......一起来看看 《Algorithms and Theory of Computation Handbook》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具