1.3C#语言的一些专业术语

AOT

预编译器。与 JIT 类似,此编译器也可将 IL 转换为机器代码。 与 JIT 编译相比,AOT 编译在应用程序执行前进行并且通常在不同计算机上执行。

ASP.NET

随 .NET Framework 一起提供的原始 ASP.NET 实现,也称为 ASP.NET 4.x。有时,ASP.NET 是指原始 ASP.NET 和 ASP.NET Core 的涵盖性术语。

ASP.NET Core

一种跨平台、高性能的开放源代码 ASP.NET 实现。

Assembly(程序集)

.dll 或 .exe 文件,其中包含一组可由应用程序或其他程序集调用的 API 。

BCL

基类库。一组构成 System.*(在一定的程度上构成 Microsoft.*)命名空间的库。 BCL 是用于生成 ASP.NET Core 等较高级应用程序框架的较低级通用框架。

.NET 5(和 .NET Core)及更高版本的 BCL 的源代码包含在 .NET 运行时存储库中。 这些 BCL API 中的大多数也可以在 .NET Framework 中获取,因此可将此源代码视为 .NET Framework BCL 源代码的一个分支。

CLR

公共语言运行时。具体含义依赖于上下文。 公共语言运行时通常指 .NET Framework 或 .NET 5(和 .NET Core)及更高版本的运行时。

CLR 处理内存分配和管理。 CLR 也是一种虚拟机,不仅可执行应用,还可使用 JIT 编译器快速生成和编译代码。

适用于 .NET Framework 的 CLR 实现仅限于 Windows。

.NET 5 及更高版本的 CLR 实现(也称为 Core CLR)是基于与 .NET Framework CLR 相同的代码库而构建的。 Core CLR 最初是 Silverlight 的运行时,并且设计为在多个平台上运行,尤其是在 Windows 和 OS X 上运行。它仍是跨平台运行时,现在包括对许多 Linux 分发的支持。

Core CLR

.NET 5(和 .NET Core)及更高版本的公共语言运行时。

CoreRT

与 CLR 相比,CoreRT 不是虚拟机,这意味着它不包含用于快速生成并运行代码的功能,因为它不包括 JIT。 但它包含 GC 以及运行时类型标识 (RTTI) 和反射功能。 只是由于设计有类型系统,因此并不需要元数据反射功能。 不需要元数据使它具有 AOT 工具链,该工具链可去除多余的元数据,更重要的是可识别应用不使用的代码。 CoreRT 正在开发中。

Entity Framework Core

Entity Framework (EF) Core 是一种可用作 ORM 的开源和跨平台的数据访问技术。 借助 EF Core,可以通过引用代码中的 .NET 对象来处理数据库。 它减少了需要编写和测试的数据访问代码的数量。 EF Core 支持许多数据库引擎。

GC

垃圾回收器。垃圾回收器是自动内存管理的实现。 GC 可释放不再使用的对象占用的内存。

IL

中间语言。C# 等较高级的 .NET 语言编译为称为中间语言 (IL) 的硬件无关性指令集。 IL 有时被称为 MSIL (Microsoft IL) 或 CIL(通用 IL)。

JIT

实时编译器。与 AOT 类似,此编译器将 IL 转换为处理器可理解的计算机代码。 与 AOT 不同,JIT 编译在需要运行代码的同一台计算机上按需执行。 由于 JIT 编译在应用程序的执行过程中发生,因此编译时是运行时的一部分。 因此,JIT 编译器需要平衡优化代码所花费的时间与生成代码时可节约的时间。 但 JIT 知道实际硬件,这样开发人员就无需提供不同的实现。

LINQ

通过语言集成查询 (LINQ),可以编写用于数据操作的声明性代码。 数据可采用多种形式(例如,内存中对象、SQL 数据库或 XML 文档),但针对每个数据源编写的 LINQ 代码往往没有差别。

.NET 实现

.NET 的实现包括:

  • 一个或多个运行时。 示例:CLR、CoreRT。
  • 实现 .NET Standard 的某版本并且可能包含其他 API 的类库。 示例:.NET Framework 和 .NET 5(和 .NET Core)及更高版本的 BCL。
  • 可选择包含一个或多个应用程序框架。 示例:ASP.NET、Windows 窗体及 WPF 包含在 .NET Framework 和 .NET 5 中。
  • 可包含开发工具。 某些开发工具在多个实现之间共享。

.NET 实现的示例:

  • .NET Framework
  • .NET 5(和 .NET Core)及更高版本
  • 通用 Windows 平台 (UWP)
  • Mono

Mono

与微软的.NET Framework(共通语言运行平台)不同,Mono项目不仅可以运行于Windows系统上,还可以运行于Linux,FreeBSD,Unix,OS X和Solaris,甚至一些游戏平台,例如:Playstation 3,Wii或XBox 360。

.NET

  • 一般情况下,.NET 是指 .NET Standard 和所有 .NET 实现及工作负载的涵盖性术语。
  • 更具体地说,.NET 是指为所有新开发推荐的 .NET 实现:.NET 5(和 .NET Core)及更高版本)。

.NET 5 及更高版本

一种跨平台、高性能的开放源 .NET 实现。 包括公共语言运行时 (CLR)、AOT 运行时(正在开发中的 CoreRT)、基类库 (BCL) 以及 .NET SDK。

此 .NET 实现的早期版本称为 .NET Core。 .Net 5.0 是继 .NET Core 3.1 之后的下一版本。 跳过了版本 4,以避免将此较新的 .NET 实现与称为 .NET Framework 的旧实现混淆。 .NET Framework 的当前版本为版本 4.8。

.NET CLI

用于开发适用于 .NET 5(和 .NET Core)及更高版本的应用程序和库的跨平台工具链。 也称为 .NET Core CLI。

.NET Core

请参阅 .NET 5 及更高版本。

.NET Framework

仅在 Windows 上运行的 .NET 实现。 包括公共语言运行时 (CLR)、基类库 (BCL) 以及应用程序框架库(例如 ASP.NET、Windows 窗体和 WPF)。

.NET Native

编译器工具链,可预先 (AOT) 生成,而非实时 (JIT) 生成本机代码。

编译采用与 C++ 编译器和链接器类似的工作方式在开发人员计算机上进行。 它删除了未使用的代码,留出更多时间进行优化。 它从库中提取代码,将它们合并到可执行文件中。 结果是表示整个应用的单个模块。

UWP 是 .NET Native 支持的应用程序框架。

.NET SDK

一组库和工具,开发人员可用其创建适用于 .NET 5(和 .NET Core)及更高版本的 .NET Core 应用程序和库。 也称为 .NET Core SDK。

包括用于生成应用的 .NET CLI、用于生成和运行应用的 .NET 库以及用于运行 CLI 命令和运行应用程序的 dotnet 可执行文件 (dotnet.exe)。

.NET Standard

在每个 .NET 实现中都可用的 .NET API 正式规范。

.NET Standard 规范有时被称为库。 由于库不仅包括规范(接口),还包括 API 实现,所以会误将 .NET Standard 称为“库”。

NuGet

NuGet 包 — 或只是一个包 — 是一个 .zip 文件,其中具有一个或多个名称相同的程序集以及作者姓名等其他元数据。

.zip 文件的扩展名为 .nupkg,且可以包含在多个目标框架和版本中使用的资产(如 .dll 文件和 .xml 文件)。在应用或库中安装时,会根据应用或库指定的目标框架选择相应的资产。定义接口的资产位于 ref 文件夹,而定义实现的资产位于 lib文件夹。

Razor Pages

通过 Razor Pages 对基于页面的场景编码比使用控制器和视图更轻松、更高效。

Runtime(运行时)

通常是指用于托管程序的执行环境。 操作系统属于运行时环境,但不属于 .NET 运行时。 下面是此情况下 .NET 运行时的一些示例:

  • 公共语言运行时 (CLR)
  • .NET Native(适用于 UWP)
  • Mono 运行时

UWP

通用 Windows 平台。

用于为物联网 (IoT) 生成触控 Windows 应用程序和软件的 .NET 实现。 它旨在统一可能想要以其为目标的不同类型的设备,包括电脑、平板电脑、电话,甚至 Xbox。

Visual Studio

集成开发环境 (IDE) 是一个功能丰富的应用程序,可用于软件开发的许多方面。 利用 Visual Studio IDE,可以轻松地编辑、调试、生成和发布应用。

Xamarin

Xamarin 是一个开放源代码平台,用于通过 .NET 构建适用于 iOS、Android 和 Windows 的新式高性能应用程序。

Xamarin 应用程序可以在电脑或 Mac 上进行编写并编译为本机应用程序包,如 Android 上的 .apk 文件,或 iOS 上的 .ipa 文件。

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/back/csharp/7846.html

发表评论

登录后才能评论