Microsoft .NET Core V2.2.100官方版
- 软件大小:140MB
- 更新日期:2020-11-30
- 软件语言:简体中文
- 软件授权:国产软件
- 软件热度:条
- 官方网站:暂无
- 适用平台:WinAll/
微软公司宣布公布了.NET Core并出示免费下载,其不但能在Windows电脑操作系统上运行,还能在Linux和Mac OS X电脑操作系统上运行,这代表着开发人员不但能应用它来创建自身的运用,还能改动和健全平台,来顺从自身和他人的追求。
【功能介绍】
.NET Core 是.net framework的新一代版本,是微软公司开发设计的第一个官方网版本,具备跨平台 (Windows、Mac OSX、Linux) 工作能力的应用程序开发框架 (Application Framework),将来也可能适用 FreeBSD 与 Alpine 平台,也是微软公司在一开始发展趋势时就开源系统的软件平台[1]#160; ,它常常也会用来和目前的开源系统 .NET 平台 Mono 较为。
因为 .NET Core 的开发设计总体目标是跨平台的 .NET 平台,因而 .NET Core 会包括 .NET Framework 的类库,但与 .NET Framework 不一样的是 .NET Core 选用包化 (Packages) 的管理方式,应用程序只必须获得必须的部件就可以,与 .NET Framework 硬包式安裝的做法迥然不同,另外各包亦有单独的版本线 (Version line),已不硬性要求应用程序追随主线任务版本。
.NET Core 新项目的关键总体目标有:
适用或能够转移 (port) 到大量的电脑操作系统平台与芯片架构 (也就是将来新项目会迈出 x86 平台)。
具备引人注意的特性与高靠谱度。
开发者能迅速与判断力的获得 .NET Core 开发工具。
在判断力与具生产主力的状况下修建应用程序,应用文档,实例与 NuGet 部件。
【软件特点】
跨平台
能够在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 4开源协议书,文本文档协议书遵照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)c语言编译器,以在启动得到 更强的特性并利润最大化货运量的作用。该作用在 .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#160; {#160; #160; #160; // Called whenever an EventSource is created.#160; #160; #160; protected override void OnEventSourceCreated(EventSource eventSource)#160; #160; #160; {#160; #160; #160; #160; #160; // Watch for the .NET runtime EventSource and enable all of its events.#160; #160; #160; #160; #160; if (eventSource.Name.Equals("Microsoft-Windows-DotNETRuntime"))#160; #160; #160; #160; #160; {#160; #160; #160; #160; #160; #160; #160; #160; #160; EnableEvents(eventSource, EventLevel.Verbose, (EventKeywords)(-1));#160; #160; #160; #160; #160; }#160; #160; #160; }#160; #160; #160; // Called whenever an event is written.#160; #160; #160; protected override void OnEventWritten(EventWrittenEventArgs eventData)#160; #160; #160; {#160; #160; #160; #160; #160; // Write the contents of the event to the console.#160; #160; #160; #160; #160; Console.WriteLine($"ThreadID = {eventData.OSThreadId} ID = {eventData.EventId} Name = {eventData.EventName}");#160; #160; #160; #160; #160; for (int i = 0; i lt; eventData.Payload.Count; i )#160; #160; #160; #160; #160; {#160; #160; #160; #160; #160; #160; #160; string payloadString = eventData.Payload[i] != null ? eventData.Payload[i].ToString() : string.Empty;#160; #160; #160; #160; #160; #160; #160; Console.WriteLine($"tName = "{eventData.PayloadNames[i]}" Value = "{payloadString}"");#160; #160; #160; #160; #160; }#160; #160; #160; #160; #160; Console.WriteLine("n");#160; #160; #160; }#160; }
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 适用等特点。