我们很高兴地宣布发布.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. Windows10上搭建Kinect 2 开发环境

    因为Visual Studio 2017的应用最低只能面向windows10,而Kinect SDK 2.0的系统版本要求是windows 8,所以不得不下载Visual Studio 2013 co ...

  2. android点击返回键,如何做到不destory当前activity,只是stop。重新返回该activity的 时候可以直接使用,不需要创建新的activity实例

    问题描述,如题目: android点击返回键,顺序执行 pause,stop,destory. 以至于想重新进入这个activity的时候还要重新执行onCreate()方法,那么如何解决不再重新执行 ...

  3. There is No Alternative~最小生成树变形

    Description ICPC (Isles of Coral Park City) consist of several beautiful islands. The citizens reque ...

  4. 自建Nuget服务器

    前言 [PS:原文手打,转载说明出处,博客园] java有Maven,.net有Nuget,概念就不一一阐述了,自己百度.下面直接进入正题 搭建Nuget服务器 作案工具 工具:vs2017,Nuge ...

  5. Myeclipse使用git

    推荐使用服务器:coding,coding的上传很稳定很快 怎么建仓库: coding 这个服务器呢有个很明显的东西就是太的语言可以是中文的, 点头标签的加号就能进行创建仓库了 点击新建就行了 点击这 ...

  6. Flask入门之自定义过滤器(匹配器)

    1.  动态路由的匹配器? 不知道这种叫啥名,啥用法,暂且叫做匹配器吧. Flask自带的匹配器可以说有四种吧(保守数字,就我学到的) 动态路由本身,可以传任何参数字符串或者数字,如:<user ...

  7. python中@classmethod @staticmethod区别

    Python中3种方式定义类方法, 常规方式, @classmethod修饰方式, @staticmethod修饰方式. class A(object): def foo(self, x): prin ...

  8. vue国际化高逼格多语言

    ## 1.NPM 项目安装 ``` cnpm i vue-i18n ``` ## 2.使用方法 ``` /* 国际化使用规则 */ import Vue from 'vue' import VueI1 ...

  9. MySQL 各类日志文件介绍

    日志文件 1.错误日志 ErrorLog 错误日志记录了MyQLServer运行过程中所有较为严重的警告和错误信息,以及MySQLServer每次启动和关闭的详细信息. 在默认情况下,系统记录错误日志 ...

  10. C# 冒泡法

    C#冒泡排序   1:原理 以此比较相邻的两个元素,每次比较完毕最大的一个字跑到本轮的末尾. 目的:按从小到大排序. 方法: 假设存在数组:72, 54, 59, 30, 31, 78, 2, 77, ...