前言

.NET 常見術語集旨在為 .NET 初學者提供一份清晰的入門指引,也為經驗豐富的 .NET 開發者提供一份便捷的參考,幫助大家更準確地表達、更高效地學習、更深入地探索 .NET 的強大功能(有遺漏的歡迎文末留言)。

應用框架

  • ASP.NET: ASP.NET 是一個免費的 Web 框架,用於使用 HTML、CSS 和 JavaScript 構建出色的網站和 Web 應用程序。
  • ASP.NET Core: ASP.NET Core 是一個跨平台、高性能的開源框架,用於使用 .NET 構建新式 Web 應用。
  • Blazor: Blazor 是基於 HTML、CSS 和 C# 的現代前端 Web 框架,可幫助你更快地生成 Web 應用。
  • .NET MAUI: .NET 多平台應用 UI (.NET MAUI) 是一個跨平台框架,用於使用 C# 和 XAML 創建本機移動和桌面應用。
  • Avalonia: Avalonia是一個強大的框架,使開發人員能夠使用 .NET 創建跨平台應用程序。它使用自己的渲染引擎繪製 UI 控件,以確保在 Windows、macOS、Linux、Android、iOS 和 WebAssembly 等不同平台上具有一致的外觀和行為。
  • Windows Forms (WinForms): WinForm 是一個傳統的桌面應用程序框架,它基於 Windows 操作系統的原生控件和窗體。通過簡單易用的 API,開發者可以快速構建基於窗體的應用程序。
  • Windows Presentation Foundation (WPF): WPF 是一個強大的桌面應用程序框架,用於構建具有豐富用户界面的 Windows 應用。
  • Windows Communication Foundation (WCF): WCF 是用於構建面向服務的應用程序的框架。使用 WCF,可以將數據作為異步消息從一個服務終結點發送到另一個服務終結點。

運行時環境

  • CLR: 公共語言運行時,.NET Framework 的運行時環境。負責管理代碼執行、內存管理、類型安全、異常處理、垃圾回收等。
  • CoreCLR: CoreCLR 是 .NET Core 的運行時環境。它包含垃圾回收器 (Garbage Collector)、即時編譯器 (JIT Compiler)、基礎數據類型以及底層類。
  • Mono: Mono 是 .NET Framework 的開源跨平台運行時,曾為 Android、macOS、iOS、tvOS 和 watchOS 上的 Xamarin 應用程序提供支持,其主要特點是小內存佔用。Mono 還支持使用 Unity 引擎生成的遊戲。

代碼編譯與執行技術

  • IL: 中間語言,是由 .NET 編譯器將高級語言源代碼編譯生成的一種低級、平台無關的指令集。
  • JIT: 即時編譯器,在運行時將中間語言 (IL) 轉換為處理器可理解的計算機代碼。
  • AOT: 預先編譯或靜態編譯,是指在部署之前將中間語言 (IL) 或字節碼編譯為本機代碼,而非在運行時通過 JIT (即時編譯器) 編譯。
  • .NET Native: 一種預編譯技術,支持 AOT 編譯,生成優化後的本地代碼,適用於 UWP 應用。
  • CoreRT: CoreRT 是微軟早期的實驗性 .NET 原生 AOT 運行時與工具鏈,現已停止獨立發展,其成果已併入現代的 Native AOT 用於生成更小的本地可執行文件。
  • Native AOT: Native AOT(原生提前編譯)是現代 .NET 提供的一項將託管程序集(IL)在發佈階段靜態編譯為本機代碼的技術。

.NET 類庫

  • BCL: BCL 是 .NET 平台的基礎功能類庫,提供了最核心的類型和 API,包括集合、文件 I/O、字符串處理、基本數據類型、流、網絡、反射、安全性等。
  • FCL: FCL 包含 BCL,並在其基礎上擴展了更高級和更豐富的 API,涵蓋了 ASP.NET、WPF、WinForms 等應用框架和技術。

語言和類型系統規範

  • CTS: 公共類型系統,定義 .NET 運行時中類型的聲明、使用和管理方式。
  • CLS: 公共語言規範,定義了所有 .NET 編程語言必須支持的特性子集。
  • CLI: 公共中間語言,.NET 的編譯器將源代碼編譯後生成的中間語言。

測試與調試

  • XUnit、NUnit、MSTest: 常用的 .NET 單元測試框架。
  • 調試器(Debugger): 用於分析和診斷代碼運行狀態。

安全與身份

  • 身份認證(Authentication)、授權(Authorization): Web 安全核心機制。
  • JWT(JSON Web Token): 常用的令牌認證格式。
  • OAuth: 開放授權標準,常用於第三方登錄。

軟件版本發佈

  • LTS (長期支持): 長期支持版本(約3年)。
  • STS (標準支持): 指支持週期較短(約18個月)。
  • RC (發佈候選版): 指的是該版本在開發流程中所處的階段。RC 是正式發佈前的最後測試版本,功能已凍結。

其他

  • GC: 垃圾回收器,GC 屬於運行時的自動內存管理機制,負責自動回收不再使用的對象所佔用的內存空間,防止內存泄漏和提升應用穩定性。
  • .NET Runtime: .NET Runtime用於構建 .NET 運行時、庫以及跨所有支持平台的共享主機(dotnet)安裝程序的代碼,同時也包括 .NET 運行時和庫的源代碼。
  • .NET Standard: .NET Standard 是一套正式的 .NET API 規範,旨在提高 .NET 生態系統中的一致性。它允許庫在不同的 .NET 實現(如 .NET Framework、.NET Core、Mono 等)之間共享代碼。
  • .NET SDK: .NET SDK 是一組庫和工具,開發人員可使用它創建 .NET 應用程序和庫。
  • NuGet 包: NuGet 包是具有 .nupkg 擴展的單個 ZIP 壓縮文件,此擴展包含編譯代碼 (DLL)、與該代碼相關的其他文件以及描述性清單(包含包版本號等關鍵信息)。
  • 程序集(Assembly): 以 .dll 或 .exe 形式存在的、包含可供應用程序或其他程序集調用的 API 的 .NET 部署單元,內部含有中間語言代碼、元數據和資源。
  • MSBuild: MSBuild 是 .NET 和 Visual Studio 的官方開源構建平台和項目文件格式的核心引擎。它是一個用於自動化構建應用程序的過程的平台,包括編譯源代碼、處理資源、運行測試、打包和部署等任務。
  • .NET CLI: .NET 命令行接口 (CLI) 工具是用於開發、生成、運行和發佈 .NET 應用程序的跨平台工具鏈。
  • Roslyn: Roslyn 是 .NET 的開源編譯器平台,為 C# 與 VB 提供編譯、語法語義分析、代碼生成與重構等 API。