.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/


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

查看所有标签

猜你喜欢:

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

一本书读懂24种互联网思维

一本书读懂24种互联网思维

安杰 / 台海出版社 / 2015-3-1 / 39.80元

互联网思维已经不再局限于互联网,与当初人类史上的“文艺复兴”一样,这种思维的核心即将开始扩散开去,对整个大时代造成深远的影响。本书是深入研究互联网思维的精华之作,作者深入浅出地集中阐述了24种互联网思维的内核与精神,并结合实例对这24种互联网思维逐一进行了点评。对于个人与企业如何抓住互联网思维背后正喷薄而出的工作、生活、商业上的大革新与大机遇,如何在互联网思维下进行运作,如何运用互联网思维进行升级......一起来看看 《一本书读懂24种互联网思维》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

URL 编码/解码
URL 编码/解码

URL 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具