Microsoft .NET Core V2.2.100 官方正式版
- 系统大小:140.54M
- 系统语言:简体中文
- 更新时间:12-09
- 授权方式:免费软件
- 推荐星级:
.NET Core SDK2.2是一款高性能开源框架,该工具有着跨平台特性,开源使用并且更开放,带来更强劲的速度提升,用户不仅能使用它来建立自己的应用,还能修改和完善平台,来迎合自己和他人的需求。
.NET Core SDK2.2是一款高性能开源框架,该工具有着跨平台特性,开源使用并且更开放,带来更强劲的速度提升,用户不仅能使用它来建立自己的应用,还能修改和完善平台,来迎合自己和他人的需求。
【跨平台】
可以在Windows,macOS,Linux上运行
【灵活的部署机制】
1、Portable applications(便携式应用):这种部署机制和传统的.NET Framework相似,只要目标平台上存在.NET Core Runtime即可。
2、Self-contained application(自宿主应用):顾名思义,这种部署机制将应用和运行时共同打包,即便目标平台上没有安装.NET Core Runtime也能正常使用
第二种方式和.NET Native也是不一样的,仍然使用CoreCLR,而.NET Native使用CoreRT作为运行时,详细信息请见dotnet/corert
【命令行工具】
.NET程序所有的运行脚本都可以用命令行工具执行(cmd,bash)这里有几个常见的donnet命令
【兼容性】
通过.NET Standard Library与.NET Framework,Xamarin,Mono兼容
【开源】
.NET Core从属于.NET基金会,由微软进行官方支持。使用MIT和Apache 2开源协议,文档协议遵循CC-BY
使用.NET Core 2.0需要先安装.NET Core SDK 2.0,并且在Visual Studio 2017中创建APP。
.NET Core SDK 2.0.0 包括了 .NET Core 2.0.0 Runtime,如果下载了SDK就不需要单独下载Runtime了。
更新亮点:分层编译(Tiered Compilation)
分层编译是一种使运行时能够更自适应地使用实时(JIT)编译器,以在启动时获得更好的性能并最大化吞吐量的功能。该功能在 .NET Core 2.1 中是可选的,然后在 .NET Core 2.2 Preview 2 中默认启用。不过开发团队认为还没有准备好在正式的 .NET Core 2.2 版本中默认启用它,所以已将其切换回可选功能。
分层编译有望在 .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 提供程序的一部分公开的相同事件。这允许应用使用这些事件或使用传输机制将它们发送到遥测聚合服务。
订阅事件示例代码:
internal sealed class SimpleEventListener : EventListener { // Called whenever an EventSource is created. protected override void OnEventSourceCreated(EventSource eventSource) { // Watch for the .NET runtime EventSource and enable all of its events. if (eventSource.Name.Equals("Microsoft-Windows-DotNETRuntime")) { EnableEvents(eventSource, EventLevel.Verbose, (EventKeywords)(-1)); } } // Called whenever an event is written. protected override void OnEventWritten(EventWrittenEventArgs eventData) { // Write the contents of the event to the console. Console.WriteLine($"ThreadID = {eventData.OSThreadId} ID = {eventData.EventId} Name = {eventData.EventName}"); for (int i = 0; i < eventData.Payload.Count; i++) { string payloadString = eventData.Payload[i] != null ? eventData.Payload[i].ToString() : string.Empty; Console.WriteLine($"/tName = /"{eventData.PayloadNames[i]}/" Value = /"{payloadString}/""); } Console.WriteLine("/n"); } }
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 连接示例:
// get access token using ADAL.NETvar authContext = new AuthenticationContext(authority);var authResult = await authContext.AcquireTokenAsync(appUri, clientCredential);// setup connection to SQL Servervar sqlConnection = new SqlConnection(connectionString);sqlConnection.AccessToken = authResult.AccessToken;await sqlConnection.OpenAsync();
此外,该版本还包含 Injecting code prior to Main,提供 Windows ARM32 支持等特性。