首頁 >常見問題 >.net core是什麼

.net core是什麼

藏色散人
藏色散人原創
2020-11-10 15:55:585872瀏覽

.net core是適用於Windows、Linux和macOS的免費、開源託管的電腦軟體框架,是微軟開發的第一個官方版本,具有跨平台能力的應用程式開發框架。

.net core是什麼

推薦:《程式設計影片

.net core 

.NET Core是適用於Windows、Linux 和macOS 的免費、開源託管的電腦軟體框架,是微軟開發的第一個官方版本,具有跨平台能力的應用程式開發框架(Application Framework ),未來也會支援FreeBSD 與Alpine 平台,也是微軟在一開始發展時就開源的軟體平台,它經常也會拿來和現有的開源.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 組件。

核心功能

.NET Core 是由許多專案所組成,除了基本的類別庫(Core FX) 之外,還包含採用RyuJIT 編譯的運行平台Core CLR、編譯器平台.NET Compiler Platform、採用AOT 編譯技術運行最優化的套件Core RT (.NET Core Runtime),以及跨平台的MSIL 編譯器LLILC (LLVM-based MSIL Compiler) 等項目。

同時,微軟也發展了一個建立技術文件的平台docfx, [3]  並運用於 .NET Core 的文件網站。

RyuJIT

RyuJIT 是微軟發展的新式即地編譯器(Just-in-Time Compiler),用以取代現有的.NET Framework 的JIT 以及JIT64 即地編譯器,依據微軟公佈的測試報告,RyuJIT 的效能較前一代的JIT 提升約25%,並支援SIMD(Single Instruction, Multiple Data) 的技術。 RyuJIT 同時應用於 .NET Framework 4.6 以及 .NET Core [4]  。

Core CLR

Core CLR 移植.NET Framework 的CLR 的功能,包含核心程式庫mscorlib、JIT 編譯器、垃圾收集器(GC) 以及其他執行MSIL 所需的運行期環境。

Core RT

Core RT 是以AOT (Ahead-of-time) 編譯方式為主的核心功能,在.NET Core 內稱為Core RT,在UWP 則稱為.NET Native。

Core RT 會在建造時期(非運行期) 在編譯時將MSIL 轉換成平臺本地的機器碼,以獲取較短的引導時間(JIT 採用的是運行時期編譯,使得引導時間拉長),以及記憶體用量減少的優點。 Core RT 會在不同的平台使用不同的 AOT 技術:

  • Windows 上使用的是 .NET Native。

  • macOS 與 Linux 上使用的是 LLILC (同時支援 JIT 和 AOT)。

LLILC

LLILC (LLVM-based MSILCompiler,英文發音為"lilac") 是.NET Core 在非Windows 平台的MSIL 編譯器[5]  ,基於ECMA-335 (Common Language Infrastructure) 的標準將MSIL 編譯成原生碼運行,適用於可運行LLVM 的作業系統,例如macOS與Linux 作業系統。

LLILC 同時支援 JIT (內含 RyuJIT 的實作) 以及 AOT (未來將開始支援) 的編譯方式。

Roslyn

.NET Compiler Platform (專案程式碼為Roslyn) 是將.NET 平台的編譯架構標準化的平台,它可提供程式管理工具(如整合開發環境) 相當多的情報,用以發展有助於編寫程式與管理程式結構所需的功能,例如類型資訊、語法結構、參考連結、語意、編譯器、自動化、錯誤回報等等功能,只要是遵循CLI 標準的程式語言,都可以利用.NET Compiler Platform 實作出編譯器,讓程式管理工具能實現如語法提示、語法自動完成、關鍵字高亮等視覺化能力。

.NET Compiler Platform 可同時支援 .NET Framework 4.6 以上版本,.NET Core 也原生支援。

以上是.net core是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

相關文章

看更多