我们很高兴地宣布发布.NET Core 2.2。
它包括对运行时的诊断改进,对 ARM32 for Windows 和 Azure Active Directory for SQL Client 的支持。
此版本中最大的改进是在ASP.NET Core 中。
ASP.NET Core 2.2和 Entity Framework Core 2.2。
您可以在 Windows,macOS 和 Linux 上下载并开始使用.NET Core 2.2:
- .NET Core 2.2 SDK(包括运行时)
- .NET Core 2.2运行时
Visual Studio 15.9 Visual Studio for Mac 和Visual Studio Code 支持.NET Core 2.2 。
对于.NET Core 和ASP.NET Core,可以在 microsoft / dotnet 上获得Docker镜像。
您可以在.NET Core 2.2发行说明中查看该发行版的完整详细信息。
发行说明中包含相关说明,已知问题和解决方法。
请在评论或 dotnet / core#2098 中报告您发现的任何问题。
感谢为.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 中默认启用,我们希望它保留在该配置中。
运行时事件(Runtime Events)
通常需要监视运行时服务(如当前进程的 GC,JIT 和 ThreadPool),以了解这些服务在运行应用程序时的行为方式。
在 Windows 系统上,这通常使用 ETW 并监视当前进程的 ETW 事件来完成。虽然这种方法仍然有效,但使用 ETW 并不总是容易或可能。
无论您是在低权限环境中运行还是在 Linux 或 macOS 上运行,都可能无法使用 ETW。
从.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.NET 和 Azure 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+
- 高山:3.7+
芯片支持如下:
- Windows,macOS 和 Linux 上的 x64
- Windows 上的 x86
- Linux 上的 ARM32(Ubuntu 16.04 +,Debian 9+)
- Windows 上的 ARM32(1809+; 1 月份可用)
转自:无痴迷,不成功 cnblogs.com/justmine/p/10069160.html