定义
-
它是一个虚拟机,用于编译和执行用 C#、VB.Net 等不同语言编写的程序。
-
操作系统架构和 CPU 架构的组合称为平台。 平台相关意味着编程语言代码将仅在特定操作系统上运行。 .NET 应用程序依赖于平台,因为 .NET 框架只能在基于 Windows 的操作系统上运行。由于 Mono 框架,.Net 应用程序也与平台无关。 使用 Mono 框架,.Net 应用程序可以在包括 Windows 在内的任何操作系统上运行。
基本架构和组件堆栈
-
CLR(Common Language Runtime)
CLR 是 .NET Framework 的基本虚拟机组件。 它是 .NET Framework 中的运行时环境. -
FCL (Framework Class Library)
这个框架中存在大量的类库,称为 FCL -
WPF (Windows Presentation Foundation)
Windows Presentation Foundation (WPF) 是 Microsoft 提供的一个图形子系统,它使用 DirectX 并在基于 Windows 的应用程序中用于呈现 UI(用户界面)。 WPF 最初于 2006 年作为 .NET Framework 3.0 的一部分发布,以前称为“Avalon”。 -
WCF (Windows Communication Foundation)
它是一个用于构建连接的和面向服务的应用程序的框架,用于将数据从一个服务端点异步传输到另一个服务点。 -
LINQ (Language Integrated Query)
它是在 .Net 框架 3.5 版中引入的。 基本上,它是一种查询语言,用于使用 VB 或 C# 编程语言对数据源进行查询。 -
Entity Framework
它是基于 .Net Framework 3.5 版的开源 ORM(对象关系映射)框架。 它使 .Net 开发人员能够使用 .Net 对象处理数据库。 在实体框架之前,.Net 开发人员已经进行了很多与数据库相关的事情。 就像打开与数据库的连接一样,开发人员必须创建一个数据集以获取或提交数据到数据库,将数据从数据集转换为 .NET 对象,反之亦然。 它给开发人员带来了困难,也是容易出错的过程,然后“实体框架”来为应用程序自动化所有这些与数据库相关的活动。 因此,实体框架允许开发人员在更高的抽象级别上工作。 -
Parallel LINQ (Language Integrated Query)
它来自 .Net Framework 4.0 版,也称为 PLINQ。 它为 LINQ 提供了一个并发查询执行引擎。 它并行执行 LINQ,以便尝试使用它正在执行的尽可能多的处理能力系统。 -
TPL (Task Parallel Library)
它是一组公共类型和 API。 它通过简化向 .Net 应用程序添加并发性和并行性的过程,使开发人员能够提高工作效率。 -
Task-Based Asynchronous Model
它是用于描述 .Net Framework 中的异步操作和任务的模型。
MSIL(Microsoft Intermediate Language) or CIL(Common Intermediate Language)
定义
-
是一组独立于平台的指令,由特定于语言的编译器从源代码生成。 MSIL 独立于平台,因此可以在任何支持公共语言基础结构的环境(例如 Windows .NET 运行时)上执行。文章来源:https://www.toymoban.com/news/detail-455757.html
-
MSIL 由 JIT 编译器转换为特定计算机环境的特定机器代码。 这是在执行 MSIL 之前完成的。 此外,MSIL 会根据要求转换为机器代码,即 JIT 编译器根据需要编译 MSIL,而不是全部编译。文章来源地址https://www.toymoban.com/news/detail-455757.html
CLR中的执行过程
- 源代码在 CLR 的编译时由特定于语言的编译器转换为 MSIL。 此外,与 MSIL 一起,元数据也在编译中生成。 元数据包含代码中类型的定义和签名、运行时信息等信息。
- 通过组装 MSIL 创建公共语言基础结构 (CLI) 程序集。 该程序集基本上是一个用于安全、部署、版本控制等的编译代码库,它有两种类型,即进程程序集 (EXE) 和库程序集 (DLL)。
- 然后,JIT 编译器将 Microsoft 中间语言 (MSIL) 转换为特定于运行 JIT 编译器的计算机环境的机器代码。 MSIL 根据要求转换为机器代码,即 JIT 编译器根据需要编译 MSIL,而不是全部编译。
- 使用 JIT 编译器获得的机器代码然后由计算机的处理器执行。
到了这里,关于.NET Framework的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!