
前言
.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。