云网牛站
所在位置:首页 > Linux软件 > .NET Core 2.2发布下载且支持Linux,附新特性更新

.NET Core 2.2发布下载且支持Linux,附新特性更新

2018-12-06 10:17:58作者:王练稿源:开源社区

微软正式发布了 .NET Core 2.2 版本下载,支持 Windows、macOS 和 Linux 系统,2.2 版本包含众多的新特性,最大的改进是在 ASP.NET Core 中,对运行时的诊断改进,对 ARM32 for Windows 和 Azure Active Directory for SQL Client 的支持。同时 ASP.NET Core 2.2 和 Entity Framework Core 2.2 也已经发布,最新的 Visual Studio 15.9、Visual Studio for Mac 和 Visual Studio Code 已支持 .NET Core 2.2。以下为 .NET Core 2.2 的新特性介绍。

 

.NET Core 2.2 新特性更新内容

1、分层编译(Tiered Compilation)

分层编译是一种使运行时能够更自适应地使用实时(JIT)编译器,以在启动时获得更好的性能并最大化吞吐量的功能。该功能在 .NET Core 2.1 中是可选的,然后在 .NET Core 2.2 Preview 2 中默认启用。不过开发团队认为还没有准备好在正式的 .NET Core 2.2 版本中默认启用它,所以已将其切换回可选功能。

分层编译有望在 .NET Core 3.0 中默认启用。

2、运行时事件(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 提供程序的一部分公开的相同事件。这允许应用使用这些事件或使用传输机制将它们发送到遥测聚合服务。

订阅事件示例代码:

.NET Core 2.2发布下载且支持Linux,附新特性更新

3、在 SqlConnection 中支持 AccessToken

SQL Server 的 ADO.NET provider —— SqlClient,现在支持将 AccessToken 属性设置为使用 Azure Active Directory 以对 SQL Server 连接进行身份验证。要使用此功能,你可以使用 Microsoft.IdentityModel.Clients.ActiveDirectory NuGet 包中包含的 Active Directory Authentication Library for .NET 获取 access token value 。

使用 Azure Active directory 验证 SQL Server 连接示例:

.NET Core 2.2发布下载且支持Linux,附新特性更新

4、在 Main 之前注入代码

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

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

5、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 Client: 7, 8.1, 10 (1607+)

Windows Server: 2008 R2 SP1+

macOS: 10.12+

RHEL: 6+

Fedora: 26+

Ubuntu: 16.04+(Ubuntu 18.04)

Debian: 9+

SLES: 12+

openSUSE: 42.3+

Alpine: 3.7+

 

.NET Core 2.2 适用芯片

x64 on Windows, macOS, and Linux

x86 on Windows

ARM32 on Linux (Ubuntu 16.04+, Debian 9+)

ARM32 on Windows (1809+; available in January)

 

附:针对 Ubuntu 18.04 平台的安装 .NET SDK

要开始构建 .NET 应用程序,您只需下载并安装 .NET SDK(软件开发工具包)即可。

在安装.NET之前,你需要注册 Microsoft 密钥,注册产品存储库并安装所需的依赖项。这只需要每台机器完成一次。

1、打开命令提示符并运行以下命令:

wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb

sudo dpkg -i packages-microsoft-prod.deb

2、安装 .NET SDK:

更新可用于安装的产品,然后安装 .NET SDK。

在命令提示符中,运行以下命令:

sudo add-apt-repository universe

sudo apt-get install apt-transport-https

sudo apt-get update

sudo apt-get install dotnet-sdk-2.2

3、创建您的应用:

打开新的命令提示符并运行以下命令:

dotnet new console -o myApp

cd myApp

注:dotnet 命令为您创建一个类型为 console 的新应用程序。-o 参数创建一个名为 myApp 的目录,用于存储应用程序,并使用所需文件填充该目录。cd myApp 命令将您带入新创建的 app 目录。myApp 文件夹中的主文件是 Program.cs。默认情况下,它已包含编写“Hello World!”所需的代码。

 

下载链接

core GitHub下载地址

Microsoft .NET网站

.NET Core 2.2发布下载且支持Linux,附新特性更新

 

相关主题

.NET Core 3新特性公布:支持Windows桌面应用,无Linux支持计划

精选文章
热门文章