重磅!!!微软发布.NET Core 2.2

咱们很高兴地宣布发布.NET Core 2.2。它包括对运行时的诊断改进,对ARM32 for Windows和Azure Active Directory for SQL Client的支持。此版本中最大的改进是在ASP.NET Core中。html

ASP.NET Core 2.2Entity Framework Core 2.2git

您能够在Windows,macOS和Linux上下载并开始使用.NET Core 2.2:github

Visual Studio 15.9,Visual Studio for Mac和Visual Studio Code 支持.NET Core 2.2 。sql

对于.NET Core和ASP.NET Core,能够在microsoft / dotnet上得到Docker镜像。docker

您能够在.NET Core 2.2发行说明中查看该发行版的完整详细信息。发行说明中包含相关说明,已知问题和解决方法。请在评论或dotnet / core#2098中报告您发现的任何问题。windows

感谢为.NET Core 2.2作出贡献的每一个人。您已经帮助.NET Core成为更好的产品!性能

本次发布包含如下特性:操作系统

分层编译(Tiered Compilation)

分层编译是一种功能,使运行时可以更自适应地使用实时(JIT)编译器,以在启动时得到更好的性能并最大化吞吐量。它做为.NET Core 2.1中的选择加入功能添加,而后在.NET Core 2.2 Preview 2中默认启用。咱们认为咱们尚未准备好在最终的.NET Core 2.2版本中默认启用它,因此咱们将其切换回选择加入,就像.NET Core 2.1同样。它在.NET Core 3.0中默认启用,咱们但愿它保留在该配置中。server

运行时事件(Runtime Events)

一般须要监视运行时服务(如当前进程的GC,JIT和ThreadPool),以了解这些服务在运行应用程序时的行为方式。在Windows系统上,这一般使用ETW并监视当前进程的ETW事件来完成。虽然这种方法仍然有效,但使用ETW并不老是容易或可能。不管您是在低权限环境中运行仍是在Linux或macOS上运行,均可能没法使用ETW。htm

从.NET Core 2.2开始,如今可使用EventListener类来使用CoreCLR事件。这些事件描述了GC,JIT,ThreadPool和interop的行为。它们是在Windows上做为CoreCLR ETW提供程序的一部分公开的相同事件。这容许应用程序使用这些事件或使用传输机制将它们发送到遥测聚合服务。

在SqlConnection中支持AccessToken

SQL Server的ADO.NET提供程序SqlClient如今支持将AccessToken属性设置为使用Azure Active Directory对SQL Server链接进行身份验证。要使用此功能,您可使用Microsoft.IdentityModel.Clients.ActiveDirectory NuGet包中包含的Active Directory身份验证库for .NET获取访问令牌值。

如下示例显示如何使用Azure Active目录验证SQL Server链接:

有关更多信息,请参阅ADAL.NETAzure Active Directory文档

在Main以前注入代码

.NET Core如今能够在经过Startup Hook运行应用程序main方法以前注入代码。启动挂钩使主机能够在部署应用程序后自定义应用程序的行为,而无需从新编译或更改应用程序。

咱们但愿托管服务提供商定义自定义配置和策略,包括可能影响主入口点的加载行为的设置,例如AssemblyLoadContext行为。钩子可用于设置跟踪或遥测注入,设置回调以进行处理或其余依赖于环境的行为。钩子与入口点分开,所以不须要修改用户代码。

有关更多信息,请参阅主机启动挂钩

Windows ARM32

咱们正在添加对Windows ARM32的支持,相似于咱们在.NET Core 2.1中添加的Linux ARM32支持。Windows已经支持使用Windows IoT Core的ARM32 一段时间了。做为Windows Server 2019发行版的一部分,还为Nanoserver添加了ARM32支持。.NET Core能够在Nanoserver和IoT Core上使用。

将在Docker Hub 上的microsoft / dotnet上为ARM32的Nanoserver提供Docker。

咱们遇到了一个迟到的错误,阻止咱们今天发布针对Windows ARM32的.NET Core版本。咱们预计这些版本将在2019年1月的.NET Core 2.2.1中使用。

平台支持

如下操做系统支持.NET Core 2.2:

  • Windows客户端:7,8.1,10(1607+)
  • Windows Server:2008 R2 SP1 +
  • macOS:10.12+
  • RHEL:6+
  • Fedora:26岁以上
  • Ubuntu:16.04+
  • Debian:9+
  • SLES:12+
  • openSUSE:42.3+
  • Alpine: 3.7+

芯片支持以下:

  • Windows,macOS和Linux上的x64
  • Windows上的x86
  • Linux上的ARM32(Ubuntu 16.04 +,Debian 9+)
  • Windows上的ARM32(1809+; 1月份可用)
相关文章
相关标签/搜索