跳至內容
主選單
主選單
移至側邊欄
隱藏
導覽
首頁
近期變更
隨機頁面
MediaWiki說明
Taiwan Tongues 台語維基
搜尋
搜尋
外觀
建立帳號
登入
個人工具
建立帳號
登入
檢視 .NET 的原始碼
頁面
討論
臺灣正體
閱讀
檢視原始碼
檢視歷史
工具
工具
移至側邊欄
隱藏
操作
閱讀
檢視原始碼
檢視歷史
一般
連結至此的頁面
相關變更
特殊頁面
頁面資訊
外觀
移至側邊欄
隱藏
←
.NET
由於以下原因,您無權編輯此頁面:
您請求的操作只有這些群組的使用者能使用:
使用者
、taigi-reviewer、apibot
您可以檢視並複製此頁面的原始碼。
'''. NET'''( 三更一版較早號做'''. NET Core''') 是微軟仔開發的頭一个迒平台 ( Windows、Mac OSX、Linux)的應用程式開發框架(Application Framework), 未來嘛會支援 FreeBSD 佮 Alpine 平台。. Net Core 嘛是微軟佇一開始發展的時陣就開源的軟體平台,伊定定嘛會提來佮現有的開源 . NET 平台 Mono 比較。 因為 . NET Core 的開發目標是迒平台的 . NET 平台,所以 . NET Core 會包括講 . NET Framework 的類別庫,但是佮 . NET Framework 無仝的是 . NET Core 採用套件化 ( Packages ) 的管理方式,應用程式只需要取得需要的組件即可,佮 . NET Framework 大包式安裝的做法全然無仝款,嘛仝時陣各套件亦有獨立的版本線 ( Version line ),無閣硬性要求應用程式跟隨主線版本。 . NET Core 專案的目標𪜶有: 一 . 支援抑是講會當移轉 ( port ) 到閣較濟的作業系統平台佮晶片架構 ( 也就是未來計畫會迒出 x 八十六平台 )。 二 . 有引人注目的效能佮懸可靠度。 三 . 開發人員會當快速佮直覺的獲取 . NET Core 開發環境。 四 . 佇直覺佮具產力的情況之下建造應用程式,用檔案,範例佮 NuGet 元件。 ==歷史== . NET Core 一鋪排佇二空一六年六月二十七號釋出。 二空二空年十一月,軟軟仔釋出矣 . NET 五曉空,統一矣 . NET 的每一个平台的碎片版本:. NET Framework 四配八 , . NET Standard , . NET Core 三孵一 , Mono , Xamarin 等。 二空二一年十一月,軟軟仔釋出矣 . NET 六板零。 二空二二年十一月,軟軟仔釋出矣 . NET 七鼗零。 ==核心功能== . NET Core 是由真濟專案所組成,除了基本的類別庫 ( Core FX ) 以外,嘛包括採用 RyuJIT 編譯的執行平台 Core CLR、編譯器平台 . NET Compiler Platform、採用 AOT 編譯技術運行最佳化的套件 Core RT ( . NET Core Runtime ),閣跨平台的 MSIL 編譯器 LLILC ( LLVM-based MSIL Compiler ) 等專案。 同時,微軟嘛發展一个建置技術檔案的平台 docfx,並運用佇咧 . NET Core 的檔案網站。 ===RyuJIT=== RyuJIT 是微軟發展的新式即地編譯器 ( Just-in-Time Compiler ),用取代現有的 . NET Framework 的 JIT 以及 JIT 六十四即地編譯器,根據微軟公佈的測試報告,RyuJIT 的效能較前一代的 JIT 提升約是百分之二十五,並支援 SIMD ( Single Instruction , Multiple Data ) 的技術。RyuJIT 同時應用佇咧 . NET Framework 四配六猶閣有 . NET Core。 ===Core CLR=== Core CLR 徙栽 . NET Framework 的 CLR 的功能,包含核心程式庫 mscorlib、JIT 編譯器、糞埽收集器 ( GC ) 猶閣有其他的執行 MSIL 所需要的執行期環境。 ===Core RT=== Core RT 是以預先編譯為主的核心功能,佇咧 . NET Core 內叫做 Core RT,佇咧 UWP 著是叫做 . NET Native。 Core RT 會起造時期 ( 非執行期 ) 這个編譯的時陣共 MSIL 轉做平台原生的機器碼,以獲取較短的啟動時間 ( JIT 用的是執行時期編譯,會當予啟動的時間搝予長 ),猶閣有記持體用量減少的優點。Core RT 攏會佇無仝的平台用無仝的 AOT 技術: * Windows 最使用的是 . NET Native。 * Mac OS 佮 Linux 最使用的是 LLILC ( 同時支援 JIT 和 AOT )。 ===LLILC=== LLILC ('''LL'''VM-based MS'''IL''''''C'''ompiler,英文發音為 " lilac " ) 是 . NET Core 在非 Windows 平台的 MSIL 編譯器,是因為 ECMA 被三百三十五 ( Common Language Infrastructure ) 的標準將 MSIL 編譯做原生碼執行,適用於可運行 LLVM 的作業系統,比如講 Mac OSX 佮 Linux 作業系統。 LLILC 同時支援 JIT ( 內含 RyuJIT 的實作 ) 以及 AOT ( 未來欲開始支援 ) 的編譯方式。 ===Roslyn=== . NET Compiler Platform ( 專案代碼為 Roslyn ) 是將 . NET 平台的編譯架構標準化的平台,伊會當提供程式管理工具 ( 如整合開發環境 ) 相當濟的情報,用的發展對編寫程式和管理程式結構所需要的功能有幫,譬如講型別資訊、語法結構、參考連結、語意、編譯器、自動化、錯誤回報等等的功能,只要是遵循 CLI 標準的程式語言,攏會當利用 . NET Compiler Platform 實作出編譯器,予程式管理工具會當實作如語法提示、語法自動完成、關鍵字突顯等視覺化能力。 . NET Compiler Platform 可同時支援 . NET Framework 四配六以上的版本,. NET Core 嘛原生支援。 ==套件管理== ===. NET Core v 一丈零的時陣=== . NET Core 的類別庫採用 NuGet 套件化的架構,應用程式只需要使用 project . json 的 dependencies 區段加入指定套件版本的參考,就會當得著該套的功能,佮往改 . NET Framework 大包式的提供方法完全無仝。. NET Core 團隊宣佈已經有百分之九十八的 . NET Framework 主要類別庫共徙到 . NET Core 平台。 比如講下列 project . json 內容,會當直接加入 . NET Standard Library ( v 一垺零 . 零-rc 二孵二孵三千九百空一 ) 的參考。 . NET Standard Library 是一个總括型的 NuGet Package,其內包括了遮的別庫套件: * Microsoft . DotNet . CoreHost * NETStandard . Platform * System . Collections . Concurrent * System . Linq * System . Runtime . Numerics * System . Text . RegularExpressions 內底的 NETStandard . Platform 嘛是一个總括型套件,包括下列類別庫套件: * Microsoft . NETCore . Platforms * Microsoft . NETCore . Runtime * Microsoft . Win 三十二 . Primitives * System . AppContext * System . Collections * System . Diagnostics . Debug * System . Diagnostics . Tools * System . Diagnostics . Tracing * System . Globalization * System . Globalization . Calendars * System . IO * System . IO . FileSystem * System . IO . FileSystem . Primitives * System . Net . Primitives * System . Net . Sockets * System . Reflection * System . Reflection . Extensions * System . Reflection . Primitives * System . Reflection . TypeExtensions * System . Runtime * System . Runtime . Extensions * System . Runtime . Handles * System . Runtime . InteropServices * System . Runtime . InteropServices . RuntimeInformation * System . Text . Encoding * System . Text . Encoding . Extensions * System . Threading * System . Threading . Tasks * System . Threading . Timer 開發人員只需要使用 NETStandard . Library 就會當加入所有的必要的 . NET Core 類別庫參考,但是若無需要遮濟組件,嘛會當干焦加入特定的套件即可,無一定攏愛加入 NETStandard . Library。 ===. NET Core v 一孵一个時期=== 對微軟仔來講,. NET Core 一垺零 ( 猶閣有早期開發的時陣 ) 使用 project . json 來處理套件管理佮版本相依的問題,是因為足濟彼工具猶未趕著 ( 譬如講微軟主力的建置工具 MSBuild ),閣加上 project . json / xproj 架構並無相容易以 MSBuild 為主的工具鏈 ( Toolchain ),若是欲修改做相容 project . json / xproj 伊可能付出真大成本,所以佇遮 . NET Core 一垺零 RC 二發布無偌久,官方就宣佈欲將 project . json / xproj 系統徙轉來以 MSBuild 為主的 csproj,比如講下列 csproj 的例即可看著套參考的內容。 因為 . NET Core 徙轉來矣 MSBuild 架構,所以佇遮 Visual Studio 二千空一十七的 . NET Core 工具內底,已經恢復會當直接於 IDE 的 GUI 介面中編修套件參考的功能。 ==應用程式類型== . NET Core 是迒過平台能力,並無共與 GUI 懸度相關的 API 徙栽到 . NET Core 內,因此像講 Windows Forms 抑是講 Windows Presentation Foundation ( WPF ) 並無徙到 . NET Core。. NET Core 支援主控台應用程式 ( Console Application ) 以及類別庫 ( Class Library ) 類型的專案。 猶毋過微軟其實 Universal Windows Platform ( UWP ) 開發平台使用矣 . NET Core,並且利用 . NET Native 技術會其效能提升到十分接近原生碼的速度。 ASP . NET Core 以主控台應用程式驅動其代管環境 Kestrel Server 來共支援 ASP . NET Core 程式的執行。 ==. NET CLI== . NET CLI ( Command-Line Interface ) 指令著工具是 . NET Core 處理建造、執行佮編輯工課的主要工具,有幾个主要的動作: ==佮其他平台的關係== . NET Core 定定會提來和其他的平台做類比,尤其是伊的源頭 . NET Framework 以及另外一个相𫝛性質的開源平台 Mono。 ===. NET Framework=== 根據微軟仔說明,. NET Core 和 . NET Framework 是子集 ( Subset ) 佮超集 ( Superset ) 的關係,. NET Core 將會實際去出來 . NET Framework 功能 ( 基本上是無含使用者介面的部份 ),比如講 JIT ( . NET Core 採用 RyuJIT )、糞埽收集器 ( GC ) 以及型別 ( 包括基本型別佮泛型型別等等 )。未來 . NET Framework 和 . NET Core 嘛將會是隨人發展,但是𪜶嘛會同齊使用按呢的功能,比如講 . NET Compiler Platform 佮 RyuJIT 等技術。 ===Mono=== Mono 是另外一个已經發展真久的 . NET Framework 跨平台開源版本,基本上無隸屬微軟官方,是由社群的力量所主導,自成一个生態系統,嘛開發出著像 Xamarin 按呢無閒平台 . NET 行動應用,. NET Core 佮 Mono 未來會是合作的關係,Mono 猶是會維持社群力量的維護佮發展,而且 . NET Core 會以官方角度來進行發展,兩爿嘛會做伙進行彼此功能上的增進。 ==佮 ASP . NET Core 的關係== . NET Core 佮 ASP . NET Core 的關係其實一開始並毋是主要緊,ASP . NET Core 的開發初期 ( ASP . NET 五 ) . NET Core 猶未開始起走,所以 ASP . NET Core 彼陣仔有家己的執行期佮工具,一開始叫做 Project K,尾仔改為講 DNX ( . NET Execution Environment ),DNX 本身就有可獨立運作的執行能力,毋免依賴 . NET Core 執行,但是按呢會變做講 . NET Core 和 ASP . NET Core 雙頭馬車的現象,佇咧 . NET Core 沓沓仔成熟了後,微軟嘛決定欲將這兩个各自獨立發展的產品線整合做伙,DNX 也共因改用 . NET Core 執行期而終止開發,DNX 的功能共由 . NET Core 佮旗下的 . NET CLI 落來提供,整合了後的版本欲佇一鋪零 RC 兩時釋出。 ==支援作業系統== . NET 七支援下列作業系統: ==參考== [[分類: 待校正]]
返回到「
.NET
」。