什么是 .NET Framework?解释一下 Archi结构与部件

⚡ 智能摘要

.NET Framework 是一个 Microsoft 用于构建和运行的平台 Windows 它支持桌面、Web 和服务应用程序。它将公共语言运行时、共享类库以及 C# 和 VB.NET 等语言捆绑到一个托管开发环境中。

  • 🧩 定义: .NET Framework 是一个 Windows-唯一一套用于桌面和 Web 应用程序的工具、语言和库。
  • 🏛️ 结 构: 公共语言运行时执行托管代码,而类库提供可重用的现成功能。
  • ⚙️ 核心组件: CLR(类库)和支持的语言协同工作,以编译和运行应用程序。
  • 🛡️ 设计原则: 互操作性、可移植性、安全性、自动内存管理和简化部署构成了该框架。
  • 🌐 应用类型: WinForms 用于构建桌面应用程序,ASP.Net 用于构建网站,ADO.Net 用于连接数据库。
  • 🤖 人工智能相关性: ML.NET 和 ONNX Runtime 增加了机器学习功能,而 GitHub Copilot 则加速了 .NET 编码。

什么是 .NET Framework

什么是 .Net Framework?

Net框架。 是由开发的软件开发平台 Microsoft 用于构建和运行 Windows 应用程序。.Net 框架由开发人员工具、编程语言和库组成,用于构建桌面和 Web 应用程序。它还用于构建网站、Web 服务和游戏。

.NET框架旨在创建可在以下平台上运行的应用程序: Windows 平台。.Net 框架的第一个版本于 2002 年发布。该版本称为 .Net 框架 1.0。 Microsoft .Net Framework 从那时到现在已经取得了长足的进步,最新版本是 .Net Framework 4.8.1。

此 Microsoft .Net框架可用于创建两者—— 基于表单基于网络的 领域广泛应用,提供了卓越的解决方案。 Web服务 也可以使用.Net框架进行开发。

该框架还支持各种编程语言,例如 Visual Basic 和 C#。因此,开发人员可以选择语言来开发所需的应用程序。在本章中,您将学习 .Net 框架的一些基础知识。

Net框架。 Archi质地

Net框架。 Archi质地 是.Net 平台的编程模型,提供执行环境和与各种编程语言的集成,以便于轻松开发和部署各种 Windows 和桌面应用程序。它由类库和可重用组件组成。

.Net框架的基本架构如下所示。

Net框架。 Archi结构图

Net框架。 Archi结构图

.NET 组件

.Net框架的架构基于以下关键组件:

1. 公共语言运行时

通用语言运行时(CLR) 是 .Net 架构中的执行引擎,.Net 程序在其上运行。

CLR具有以下主要特点:

异常处理 — 异常是指应用程序执行过程中发生的错误。异常示例包括:

  • 如果应用程序尝试打开本地计算机上的文件,但该文件不存在。
  • 如果应用程序尝试从 数据库,但与数据库的连接无效。

垃圾收集 垃圾回收是指将不再需要的资源移除的过程。垃圾回收的例子包括:

  • 不再需要的文件句柄。如果应用程序已完成对文件的所有操作,则该文件句柄可能不再需要。
  • 不再需要数据库连接。如果应用程序已完成对数据库的所有操作,则可能不再需要数据库连接。

使用各种编程语言 — 如前文所述,开发人员可以使用各种 .Net 编程语言开发应用程序。

  1. 语言 — 第一层是编程语言本身;最常见的是 VB.Net 和 C#。
  2. 编译器 每种编程语言都有其独立的编译器。例如,VB.Net 语言底层就有一个独立的 VB.Net 编译器。同样,C# 也有其独立的编译器。
  3. 通用语言运行时 这是 .NET 的最后一层,用于运行在任何环境中开发的 .NET 程序。 编程语言随后,编译器将程序发送到 CLR 层以运行 .Net 应用程序。

.NET 组件

2. 类库

.NET Framework 包含一组标准类库。类库是可用于核心目的的方法和函数的集合。

例如,有一个类库,其中包含处理所有文件级操作的方法。因此,有一个方法可以用来从文件中读取文本。同样,也有一个方法可以用来向文件中写入文本。

大多数方法分为 System.* 或 Microsoft.* 命名空间。(星号 * 仅表示对属于 System 或 Microsoft 命名空间。)

命名空间是对方法的一种逻辑划分,它将相关的类分组到一个名称下。

3。 语言

使用 .Net 框架构建的应用程序类型大致可分为以下几类。

窗体 — 这是用于开发ping 基于表单的应用程序会在最终用户的计算机上运行。记事本就是一个客户端应用程序的例子。

网络 — 这是用于开发ping 基于网络的应用程序,旨在在任何浏览器上运行,例如 Internet Explorer、Chrome 或 Firefox.

  • 该网络应用程序将在安装了互联网信息服务的服务器上进行处理。
  • 互联网信息服务(Internet Information Services,简称IIS)是一个 Microsoft 用于执行的组件 网络 应用程序。
  • 然后将执行结果发送到客户端机器,并将输出显示在浏览器中。

— 这项技术用于开发与数据库交互的应用程序,例如: Oracle or Microsoft SQL 服务器。

Microsoft 始终确保 .Net 框架符合所有支持的 Windows 操作系统。

.Net框架设计原理

以下设计原则使得 .Net 框架非常适合用于创建基于 .Net 的应用程序。

1)互操作性 — .NET 框架提供了大量的向后支持。假设你有一个基于 .NET 框架构建的应用程序, .Net 框架的旧版本例如,在版本为 2.0 的机器上运行相同的应用程序,例如在版本更高的机器上运行,例如在版本 3.5 上运行,仍然可以正常工作。这是因为每次发布新版本时, Microsoft 确保旧框架版本与最新版本兼容。

2)便携性 — 基于 .Net 框架构建的应用程序可以运行在任何平台上 Windows 平台。而近来, Microsoft 还设想制作 Microsoft 产品可以在其他平台上运行,例如 iOS 和 Linux.

3)安全性 — .NET Framework 拥有完善的安全机制。内置的安全机制有助于应用程序的验证和确认。每个应用程序都可以显式定义其安全机制。每种安全机制都用于授予用户对代码或正在运行的程序的访问权限。

4)内存管理 — 公共语言运行时 (CLR) 完成了所有工作 内存管理.NET框架能够识别正在运行的程序未使用的资源,并相应地释放这些资源。这是通过一个名为“垃圾回收器”的程序实现的,该程序作为.NET框架的一部分运行。垃圾回收器定期运行,持续检查哪些系统资源未被使用,并相应地释放它们。

5)简化部署 — .NET框架还提供了用于打包基于它构建的应用程序的工具。这些软件包可以分发到客户端计算机,客户端计算机会自动安装应用程序。

常见问题

.NET Framework 只能在……上运行 Windows 目前版本为 4.8.1,处于维护模式。Modern .NET(以前称为 .NET Core)是跨平台的、开源的,并且正在积极开发,因此是新项目的推荐选择。

公共语言运行时 (CLR) 是执行托管代码、处理内存和异常的引擎。公共语言规范 (CLS) 是一组规则,所有 .NET 语言都遵循这些规则,以确保用不同语言编写的组件能够安全地互操作。

.NET Framework 支持多种可编译成通用中间语言的语言。其中最常用的是: C# VB.NET 和 F# 用于函数式编程。它们都共享相同的运行时、类库和工具。

不,.NET Framework 是 Windows仅限 Linux 或 macOS 您使用的是现代的 .NET,以前称为 .NET Core,它是跨平台的。较早的 Mono 项目也曾在其他操作系统上运行过一些 .NET Framework 代码。

是的。.NET Framework 可以免费下载和使用,并且它已内置于…… Windows开发工具,例如 Visual Studio Community 和 Visual Studio Code 个人用户、小型团队和开源项目也可以免费使用。

是的。4.8.1 版本仍然受到支持。 Windows 该组件会接收安全性和可靠性修复。然而, Microsoft 新功能主要集中在现代 .NET 上,因此现在大多数新开发都以该平台为目标,而不是以框架为目标。

是的。ML.NET 允许您直接在 C# 中训练和运行机器学习模型,而 ONNX 运行时则可执行预训练的深度学习模型。您还可以调用云端 AI 服务,因此 .NET 应用程序无需离开生态系统即可添加智能功能。

是的。GitHub Copilot建议在Visual Studio中使用C#和VB.NET代码, VS Code它会根据注释生成脚手架类、方法和样板代码。请将输出结果视为初稿并仔细审查,因为生成的代码可能遗漏一些特殊情况或项目规范。

总结一下这篇文章: