如何使用 .NET

已完成

本单元重点介绍生成应用程序的技术方面。 我们将使用 .NET 语言、工具和框架来概述软件开发人员生成 .NET 应用程序时的常规工作流。

开发人员如何使用 .NET 生成应用程序

本部分将介绍在 .NET 中开发应用程序的工作流,包括如何开始在 .NET 中构建应用程序的详细信息。

设置开发环境

开发人员所做的第一个决定是选择他们用来创建应用程序的工具。 换言之,他们需要选择开发环境。 这通常取决于他们是更喜欢具有图形用户界面的更加可视化的工作流,还是命令行接口,在命令行接口中,他们几乎完全依赖键盘来导航开发环境和发出命令。

注意

在本模块结束时,你会看到可帮助你开始设置开发环境的链接。 可选择 Visual Studio 2022 或 Visual Studio Code 和 .NET 软件开发工具包 (SDK)。

对于更喜欢可视化环境的开发人员来说,Visual Studio 2022 是最佳选择。 正如你猜测的那样,由于 Visual Studio 2022 的全面性和可视性,下载和安装该程序需要时间、带宽和磁盘空间。 然而,一些初学者会发现这是最简单的入门方法。 安装过程可能需要 15 分钟或更长的时间,具体取决于 Internet 的连接速度。

Visual Studio 2022 中的 Visual Studio 安装程序以工作负载的形式提供选项。 “工作负载”是框架、库和其他工具的集合,它们共同生成特定的应用模型。 根据上一单元中学到的内容,需要确保安装工作负载以生成该应用模型的新应用程序。

如果刚开始使用,ASP.NET 和 Web 开发工作负载会安装 .NET SDK 和其他 SDK,用于通过 .NET 进行 Web 开发。 .NET SDK 包含开始编写代码所需的所有库、工具和模板。

如果你更喜欢命令行环境,请分别下载并安装 Visual Studio Code 和 .NET SDK。 想要快速开始的初学者通常会选择这种方法。 下载这两种工具都不需要过多的带宽。

开始使用

通常,软件开发项目从一组需求开始。 这些需求会影响应用模型的选项。 例如,你选择的应用模型可以是 Web、桌面,或者移动应用程序或后台进程。

使用 Visual Studio 2022 或 .NET CLI 时,第一步通常是基于项目模板创建一个新项目。 可以从多个项目模板中进行选择。 项目模板:

  • 根据模板和定义的项目名称生成文件夹和文件。
  • 添加对常用库和应用模型框架所需库的引用。
  • 提供所需代码,使你可以运行应用程序并查看一个小示例,这样便可以确认代码已编译。
  • 有时包括代码中的说明。 这些说明可指导你修改示例应用程序,使之变为你自己的应用程序。

在 Visual Studio 2022 中,“新建项目”对话框可以帮助你直观地从一组已安装的模板中选择一个应用程序模型,或者从许多社区贡献中进行选择。 在 .NET CLI 中,使用 dotnet new 命令选择一个新的项目模板。

生成功能

接下来,开始为应用程序编写逻辑。 当需要执行以下特殊任务时,可以添加对代码库的引用:

  • 连接到网络资源
  • 访问数据库以存储或检索数据
  • 将数据从一种格式转换为另一种格式
  • 添加日志记录以诊断应用程序的问题

在某些情况下,你要使用的代码库已经存在于本地硬盘上,因为它们已随 .NET SDK 一起安装。

在其他情况下,开发人员使用 NuGet 包管理器下载并创建对程序集库的引用。 根据开发环境,可使用 Visual Studio“NuGet 包管理器”对话框或 .NET CLI 的命令行接口来检索这些资源。

编译并运行你的应用程序

生成新功能时,需要创建代码并经常运行它。 借助此工作流,你可以评估哪些代码可正常工作,哪些代码需要修改。 可视化方法和命令行方法均使用简单的命令,使工作流易于理解。

如果语法不遵循语言规则,则代码语法将被视为不正确。 如果语法错误,你所使用的语言的 .NET 编译器会引发“编译错误”。 在更正语法问题之前,编译器不会继续执行。

有时,代码可以编译,因为它遵循语法规则,但应用程序的逻辑存在问题。 如果逻辑阻止 .NET 运行时运行命令,则程序“崩溃”。然后,.NET 运行时从计算机的内存中删除程序。 这些错误称为“运行时错误”或“异常”

提示

幸运的是,可借助一些编程方法来防止原始系统错误消息被用户看到。 可以通过搜索各种教程和文档了解有关“结构化异常处理”的详细信息。

某些逻辑错误不会导致“崩溃”,但也不会产生用户期望的结果。 只能通过测试和调试你的应用程序来更正这些错误。

调试应用程序

在生成软件时,你将运行该应用程序,以判断它是否满足你的需求和期望。 也许你在应用程序中发现了一个 bug,但你不确定它为什么会发生,或者如何来修复它

进行调试时,你观察应用程序的运行情况,以了解发生的情况。 可设置断点来暂停应用程序,并可在代码运行时逐行进行跟踪。 可观察存储在变量中的值、通过代码控制正在运行的路径以跳过或重新运行代码行、更改变量值等。

可视化调试工具和命令行调试工具都允许你观察和控制应用程序的运行。 使用此功能查看应用程序运行时发生的情况。

分发应用程序

当应用程序准备好发布时,你将创建该版本的发行版。 在发行版中,你将删除调试所需的代码。 同样,你可以在可视化工具和命令行工具中编译发行版。

若要运行发行版,必须首先在目标计算机上安装 .NET 运行时。 该计算机将运行已编译的 .NET 程序集。

.NET 在运行时的工作方式

在目标计算机上安装应用程序的 .NET 程序集和 .NET 运行时后,就可以运行应用程序了。

.NET 运行时类似于一个防护圈,为应用程序提供运行环境。 .NET 运行时:

  • 在程序第一次运行时将中间代码编译为二进制格式。 二进制格式特定于运行它的计算机上的平台和体系结构(例如,64 位 Windows)。
  • 定位程序的入口点并开始按正确的顺序运行每条指令。
  • 管理计算机资源,如内存和网络访问。 .NET 运行时“管理内存”是指它与操作系统配合使用,为应用程序预配内存。 如果应用程序不再需要存储在内存中的数据,则无需软件开发人员发出任何指令,垃圾回收功能就会将该内存释放回操作系统。
  • 保护用户计算机免受恶意软件的侵害。 它同时为应用程序之间提供了一层隔离。