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

ASP.NET Core 2.2Entity Framework Core 2.2

您可以在Windows,macOS和Linux上下载并开始使用.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.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月份可用)

重磅!!!微软发布.NET Core 2.2的更多相关文章

  1. 微软发布.Net Core 3.0 RC1,最终版本定于9月23日

    2019.9.17 微软 宣布推出.NET Core 3.0 Release Candidate 1.就像Preview 9一样,主要专注于为 .NET Core 3.0 发布最终版本 .现在变得非常 ...

  2. 译:微软发布.NET应用架构指南草案

    原文<Microsoft Announces Draft .NET Architecture Guidance> 译注:上周微软发布了全新的<.NET应用架构指南>草案,以征求 ...

  3. List多个字段标识过滤 IIS发布.net core mvc web站点 ASP.NET Core 实战:构建带有版本控制的 API 接口 ASP.NET Core 实战:使用 ASP.NET Core Web API 和 Vue.js 搭建前后端分离项目 Using AutoFac

    List多个字段标识过滤 class Program{  public static void Main(string[] args) { List<T> list = new List& ...

  4. 使用 dotnet CLI 来打包和发布 .NET Core nuget package

    原文链接:使用 dotnet CLI 来打包和发布 .NET Core nuget package 如何使用 visual studio 2015/2017 打包和发布 Nuget package, ...

  5. 微软发布了开发社区采用.NET Standard的最新信息

    最近,微软发布了开发社区当前采用.NET Standard的最新信息..NET Standard是API的正式规范,现有.NET实现在不同平台的是通用的(从而允许跨平台开发).当前规范(版本2.0)在 ...

  6. .NET Conf 2019 大会上发布.NET Core 3.0

    北京时间今天凌晨如期在.NET Conf 上发布.NET Core 3.0,Keynotes 由Scott Hunter 主演,主要围绕.NET Core 3.0的新特性和社区展开. 多功能性是.Ne ...

  7. 20190705-记IIS发布.NET CORE框架系统之所遇

    新手在IIS上发布.NET CORE框架的系统之注意事项 序:本篇随笔是我的处子笔,只想记录自己觉得在系统发布过程中比较重要的步骤,一来,忝作自己的学习笔记,以备不时之需,二来,也希望可以帮助有需要的 ...

  8. 不止开源,不止跨平台。微软的 .NET Core 还有哪些强大之处值得我们学习?

    自从 2016 年微软发布了 .NET Core 1.0,至今 4 年的时间里,.NET Core 历经 7 个正式版本和几十个 Preview 版本..NET Core 作为最通用的框架,和其他软件 ...

  9. 在离线环境中发布.NET Core至Windows Server 2008

    在离线环境中发布.NET Core至Windows Server 2008 0x00 写在开始 之前一篇博客中写了在离线环境中使用.NET Core,之后一边学习一边写了一些页面作为测试,现在打算发布 ...

随机推荐

  1. Android字符串资源及其格式化

    http://blog.csdn.NET/wsywl/article/details/6555959 在Android项目布局中,资源以XML文件的形式存储在res/目录下.为了更好的实现国际化及本地 ...

  2. vfd折腾(一)

    从一开始驱动一块翻出来的液晶显示屏就想做一个电子时钟,偶然翻到了vfd(Vacuum Fluorescent Display的缩写,意为真空荧光显示屏). 此后就走上了不归路

  3. ArrayList源码分析超详细

    ArrayList源码分析超详解 想要分析下源码是件好事,但是如何去进行分析呢?以我的例子来说,我进行源码分析的过程如下几步: 找到类:利用 IDEA 找到所需要分析的类(ztrl+N查找ArraLi ...

  4. mysql数据库的安装步骤

    Redhat6.5 1.准备工作 卸载使用rpm包安装的mysql-server.mysql软件包 安装自带的ncurses-devel包 rpm -ivh /mnt/Packages/ncurses ...

  5. AndroidStudio 快捷键 Ctrl+Q查询过慢的问题

    Ctrl+Q快捷键的作用是快速查找文档注释   但是有时候会一直fetching   需要等很长时间这时候   打开本地文件 C:\Users\Adminastration\.AndroidStudi ...

  6. 洛谷 P1272 解题报告

    P1272 重建道路 题目描述 一场可怕的地震后,人们用\(N\)个牲口棚\((1≤N≤150\),编号\(1..N\))重建了农夫\(John\)的牧场.由于人们没有时间建设多余的道路,所以现在从一 ...

  7. Unity3D学习(六):《Unity Shader入门精要》——Unity的基础光照

    前言 光学中,我们是用辐射度来量化光. 光照按照不同的散射方向分为:漫反射(diffuse)和高光反射(specular).高光反射描述物体是如何反射光线的,漫反射则表示有多少光线会被折射.吸收和散射 ...

  8. Java开源生鲜电商平台-订单抽成模块的设计与架构(源码可下载)

    Java开源生鲜电商平台-订单抽成模块的设计与架构(源码可下载) 说明:订单抽成指的是向卖家收取相应的信息服务费.(目前市场上有两种抽成方式,一种是按照总额的抽成比率,另外一种是按照订单明细的抽成比率 ...

  9. java基础之修饰符和内部类

    1.java修饰符 /* 修饰符: 权限修饰符:private,默认的,protected,public 状态修饰符:static,final 抽象修饰符:abstract 类: 权限修饰符:默认修饰 ...

  10. 1. Java面向对象之泛型-认识泛型

    package generic; class Point{ private  Object x; private  Object y; public Object getX() { return x; ...