下载和安装

许多专业的 .NET 开发人员在日常开发工作中使用 。即使您选择使用 VS Code 来完成本书中的编码任务,您也可能想要熟悉 。只有在您用某个工具编写了相当数量的代码后,您才能真正判断它是否符合您的需求。

如果您没有 电脑,则可以跳过本节,继续到下一节,在那里您将下载并安装 macOS 或 Linux 上的 VS Code。

自 2014 年 10 月以来,微软向学生、开源贡献者和个人免费提供了专业质量的 版本。它被称为社区版。任何版本都适合本书。如果您还没有安装它,现在就让我们来安装:

从以下链接下载最新版本的 :

vNext:截至撰写时, 的版本为 17.12,并被品牌为 2022。我预计下一个主要版本的 将是 18.0,并被品牌为 2025。它可能会在 2025 年上半年发布,书籍出版后。 2025 将大致具有与 2022 版相同的功能,尽管用户界面可能会稍微调整一些内容。

运行安装程序以开始安装。在工作负载选项卡中,选择以下内容:ASP.NET 和 web 开发。.NET 桌面开发(因为这包括控制台应用程序)。使用 C++ 进行桌面开发,包含所有默认组件(因为这使您能够发布启动更快、内存占用更小的控制台应用程序和 Web 服务)。点击安装,等待安装程序获取所选软件,然后进行安装。安装完成后,点击启动。第一次运行 时,系统会提示您登录。如果您有 帐户,可以使用该帐户。如果没有,请在以下链接注册一个新帐户:第一次运行 时,系统会提示您配置环境。对于开发设置,选择 C#。对于颜色主题,我选择了蓝色,但您可以选择任何您喜欢的颜色。如果您想自定义键盘快捷键,请导航到工具 | 选项…,然后选择键盘部分。 的键盘快捷键

在本书中,我将避免展示键盘快捷键,因为它们通常是自定义的。在代码编辑器中一致且常用的快捷键,我会尽量展示。

如果您想识别和自定义键盘快捷键,可以按照以下链接中的说明进行操作:。

下载和安装 VS Code

VS Code 在过去几年中迅速改进,并让微软对其受欢迎程度感到惊喜。如果你勇敢并喜欢走在前沿,那么可以选择 版本,这是下一个版本的每日构建。

即使您计划仅使用 进行开发,我建议您下载并安装 VS Code,并尝试使用它完成本章中的编码任务,然后再决定是否在本书的其余部分中仅使用 。

现在让我们下载并安装 VS Code、.NET SDK 和 C# Dev Kit 扩展:

从以下链接下载并安装 VS Code 的稳定版或内部版本:

更多信息:如果您需要更多帮助来安装 VS Code,可以在以下链接阅读官方安装指南:。

从以下链接下载并安装 .NET SDK 版本 9.0 和 8.0: 。

在现实生活中,您极不可能在计算机上仅安装一个 .NET SDK 版本。要了解如何控制用于构建项目的 .NET SDK 版本,我们需要安装多个版本。在 2024 年 11 月发布时,.NET 8 和 .NET 9 是唯一受支持的版本。您可以安全地并排安装多个 SDK。将使用最新的 SDK 来构建您的项目。

要安装带有用户界面的 C# 开发工具包扩展,您必须首先启动 VS Code 应用程序。在 VS Code 中,点击扩展图标或导航到视图 | 扩展。C# 开发工具包是最受欢迎的扩展之一,因此您应该在列表的顶部看到它,或者您可以在搜索框中输入 C# 。

C# Dev Kit 依赖于 C# 扩展版本 2.0 或更高版本,因此您无需单独安装 C# 扩展。请注意,C# 扩展版本 2.0 或更高版本不再使用 ,因为它有一个新的语言服务器协议 (LSP) 主机。C# Dev Kit 还依赖于扩展作者的 .NET 安装工具和 C# Dev Kit 扩展的 ,因此它们也会被安装。

点击安装,等待支持包下载并安装。

良好实践:请务必阅读 C#开发工具包的许可协议。它的许可比 C#扩展更为严格: 。

安装其他扩展程序

在本书的后面章节中,您将使用更多的 VS Code 扩展。如果您现在想安装它们,我们将使用的所有扩展都在表 1.1 中列出:

扩展名称和标识符

描述

C# 开发工具包

ms-.

微软官方 C# 扩展。帮助您通过解决方案资源管理器管理代码,并通过集成的单元测试发现和执行测试代码,提升您在任何开发环境(、macOS、Linux,甚至在代码空间)中的 C# 开发体验。

C#

ms-.

提供对 C#的丰富语言支持,并与 C#开发工具包一起发布。该扩展由语言服务器协议(LSP)服务器驱动,集成了 和 Razor 等开源组件,以提供丰富的类型信息和更快、更可靠的 C#体验。

for C# 开发工具包

ms-.-

为 、/、C#和 Java 开发人员提供 AI 辅助开发功能。

项目工具

.--tools

为 项目文件提供 ,包括

元素的自动完成功能。

一体化

.-all-in-one

您所需的所有 功能(键盘快捷键、目录、自动预览等)。

多语言笔记本

ms-.--

此扩展添加了在笔记本中使用 .NET 和其他语言的支持。它依赖于 扩展 ( ms-. ),而该扩展本身也有依赖。

ilspy-

.ilspy-

反编译 MSIL 程序集 - 支持现代 .NET、.NET 、.NET Core 和 .NET 。

REST 客户端

humao.rest-

在 VS Code 中发送 HTTP 请求并直接查看响应。

表 1.1:用于.NET 开发的 VS Code 扩展

您可以在命令提示符或终端中安装 VS Code 扩展,如表 1.2 所示:

命令

描述

code --list-

列出已安装的扩展。

code ---

安装指定的扩展。

code ---

卸载指定的扩展。

表 1.2:在命令提示符下管理 VS Code 扩展

例如,要安装 C# Dev Kit 扩展,请在命令提示符下输入以下内容:

code --install-extension ms-dotnettools.csdevkit

我创建了 脚本来安装和卸载上表中的 VS Code 扩展。您可以在以下链接找到它们:。 脚本是跨平台的,您可以在以下链接中阅读相关内容:。

理解 VS Code 版本

微软几乎每个月都会发布一个新的 VS Code 功能版本,并且更频繁地发布修复版本。例如:

本书中使用的版本是 1.93.0msbuild,2024 年 8 月的功能发布,但 VS Code 的版本不如您安装的 C# 开发工具包或 C# 扩展的版本重要。我推荐使用 C# 开发工具包 v1.10.18 或更高版本,以及 C# 扩展 v2.45.20 或更高版本。

虽然 C#扩展不是必需的,但它提供了输入时的智能感知、代码导航和调试功能,因此安装并保持更新以支持最新的 C#语言特性是非常方便的。

VS Code 的键盘快捷键

如果您想自定义 VS Code 的键盘快捷键,可以按照以下链接进行操作: 。

我建议您从以下列表中下载适用于您的操作系统的 VS Code 快捷键 PDF

理解 .NET

“那些无法记住过去的人注定要重蹈覆辙。”

– 乔治·桑塔亚那

.NET、.NET Core、.NET 、.NET 和 是相关且重叠的平台,供开发人员用于构建应用程序和服务。

如果您对 .NET 的历史不熟悉,那么我将在以下链接中向您介绍这些 .NET 概念:

随着时间的推移,越来越多的读者已经了解了 .NET 的历史,因此在书中继续包含这些内容将是浪费空间。但如果你是新手,请确保阅读我在线提供的所有额外内容,比如前面的内容。

理解 .NET 支持

.NET 版本分为长期支持 (LTS)、标准支持 (STS)(以前称为当前)或预览版,如下所述:

STS 和 LTS 版本在其生命周期内会收到关键补丁,以确保安全性和可靠性。

良好实践:您必须保持最新的补丁以获得支持。例如,如果系统运行在 .NET 运行时版本 9.0.0 上,然后发布了版本 9.0.1,您必须安装版本 9.0.1 才能获得支持。这些更新在每个月的第二个星期二发布,也称为补丁星期二。

为了更好地理解您对 STS 和 LTS 版本的选择,将它们可视化是有帮助的,LTS 版本用 3 年长的黑色条表示,STS 版本用 1.5 年长的灰色条表示,如图 1.3 所示:

msbuild是什么文件夹_msbuild可以删除吗_msbuild

图 1.3:最近和计划中的 STS 和 LTS 版本的支持期限

在.NET 9 的生命周期内,.NET 8 仍将得到支持,并且.NET 10 将会发布。我已尽量考虑到您可能会选择在本书中使用.NET 8 或.NET 10;然而,显然,本书无法涵盖.NET 10 的新特性,因为我不知道它们会是什么!

如果您需要来自微软的 LTS,那么请今天将您的.NET 项目设置为目标.NET 8,然后在 2025 年 11 月发布后迁移到.NET 10。这是因为.NET 9 是一个 STS 版本,因此它将在 2026 年 5 月失去支持,而.NET 8 将在 2026 年 11 月失去支持。 一旦.NET 10 发布,请开始将您的.NET 8 项目升级到它。您将有一年的时间在.NET 8 达到生命周期结束之前完成此操作。

良好实践:请记住,对于所有版本,您必须升级到错误修复版本,如 .NET 运行时 9.0.1 和 .NET SDK 9.0.101,这些版本预计将在 2024 年 12 月发布,因为更新每月发布一次。

在 2024 年 11 月发布时,除以下列表中按 EOL 日期排序的版本外,所有现代.NET 版本均已达到其 EOL。

您可以在以下链接查看当前支持的 .NET 版本以及它们何时达到生命周期结束(EOL):。

了解生命周期结束(EOL)

支持结束或生命周期结束(EOL)是指在此日期之后,微软将不再提供错误修复、安全更新或技术支持。

例如,考虑到 .NET 6 已于 2024 年 11 月 12 日结束支持,您可以期待以下内容:

理解 .NET 支持阶段

一个版本的 .NET 生命周期经历几个阶段,在这些阶段中,它们具有不同级别的支持,如下所述:

理解 .NET 运行时和 .NET SDK 版本

如果您没有构建独立应用程序,那么 .NET 运行时是您需要安装的最低要求,以便操作系统能够运行 .NET 应用程序。 .NET SDK 包含 .NET 运行时,以及构建 .NET 代码和应用所需的编译器和其他工具。

.NET 运行时版本控制遵循语义版本控制——即,主要增量表示重大更改,次要增量表示新功能,补丁增量表示错误修复。

.NET SDK 版本控制不遵循语义版本控制。主版本号和次版本号与它们所匹配的运行时版本相关联。第三个数字遵循一个约定,表示 SDK 的次版本和补丁版本。第三个数字在初始版本时为 100(相当于次版本和补丁版本的 0.0)。第一个数字随着次版本的增加而增加,其他两个数字随着补丁的增加而增加。

您可以在表 1.3 中看到一个示例:

更改

运行时

SDK

初始发布

9.0.0

9.0.100

SDK 修复错误

9.0.0

9.0.101

运行时和 SDK 错误修复

9.0.1

9.0.102

SDK 新功能

9.0.1

9.0.200

表 1.3:.NET 运行时和 SDK 的更改和版本示例

列出和删除 .NET 版本

.NET 运行时更新与主要版本(如 9.x)兼容,更新后的 .NET SDK 仍然能够构建针对先前版本运行时的应用程序,这使得安全移除旧版本成为可能。

您可以使用以下命令查看当前安装的 SDK 和运行时:

dotnet --list-sdks
dotnet --list-runtimes
dotnet --info

良好实践:为了方便在命令提示符或终端中输入命令,以下链接列出了本书中所有可以轻松复制和粘贴的命令:。

在 上,使用“应用和功能”部分来卸载.NET SDK。

在 Linux 上,没有单一的机制,但您可以在以下链接中了解更多信息:

您可以使用第三方工具,如 Dots,这是一款友好的 .NET SDK 管理器,链接如下:。在撰写本文时,您必须从其 存储库构建应用程序,因此我只建议高级开发人员使用。

理解中间语言

C# 编译器(名为 )由 CLI 工具使用,将您的 C# 源代码转换为中间语言(IL)代码,并将 IL 存储在程序集(DLL 或 EXE 文件)中。IL 代码语句类似于汇编语言指令,由 .NET 的虚拟机执行,该虚拟机被称为 ,这是现代 .NET 中通用语言运行时(CLR)的新名称。传统的 .NET 具有仅适用于 的 CLR,而现代 .NET 为每个操作系统提供一个 CLR,例如 、macOS 和 Linux。如今,它们通常被统称为 CLR。

在运行时, 从程序集加载 IL 代码,即时编译器 (JIT) 将其编译为本机 CPU 指令,然后由您机器上的 CPU 执行。

这种两步编译过程的好处在于,微软可以为 Linux 和 macOS 以及 创建 CLR。由于第二步编译生成了针对本地操作系统和 CPU 指令集的代码,因此相同的 IL 代码可以在任何地方运行。

无论源代码是用哪种语言编写的(例如,C#、 Basic 或 F#),所有 .NET 应用程序都使用 IL 代码作为存储在程序集中的指令。微软和其他公司提供反汇编工具,可以打开程序集并揭示这些 IL 代码,例如 ILSpy .NET 反编译器扩展。您将在第 7 章“打包和分发 .NET 类型”中了解更多内容,在线部分可以在以下链接找到:。

因此,编译过程通常涉及将源代码翻译成中间语言(IL),然后在运行时由公共语言运行时(CLR)使用即时编译(JIT)将其编译成机器代码。提前编译(AOT)是这种方法的替代方案,您将在第 7 章《打包和分发 .NET 类型》中学习到它。

比较 .NET 技术

我们可以总结和比较当前的 .NET 技术,如表 1.4 所示:

技术

描述

主机操作系统

现代 .NET

现代功能集,支持完整的 C# 8 到 C# 13 语言。它可以用于移植现有应用程序或创建新的桌面、移动和 Web 应用程序及服务。

,macOS,Linux,,iOS,tvOS 和 Tizen

.NET 框架

一个具有有限 C# 8 支持且不支持 C# 9 或更高版本的遗留功能集。应仅用于维护现有应用程序。

仅限

仅限移动和桌面应用程序。

安卓、iOS 和 macOS

表 1.4:.NET 技术比较

、Rider,甚至 VS Code(安装了 C# Dev Kit 扩展)都有一个称为解决方案的概念,允许您同时打开和管理多个项目。我们将使用解决方案来管理您将在本章中创建的两个项目。

使用 构建控制台应用程序

本节的目标是展示如何使用 构建控制台应用程序。

如果您没有 电脑或想使用 VS Code,那么您可以跳过这一部分,因为代码是相同的;只是工具体验不同。然而,我建议您查看这一部分,因为它确实解释了一些代码以及顶层程序是如何工作的,这些信息适用于所有代码编辑器。

本节也可以在以下链接的 存储库中找到(因此在发布后如有需要可以进行更新):

如果您想查看有关使用 Rider 的类似说明,可以在以下链接的 存储库中找到:

使用 编写代码

让我们开始编写代码:

启动 。在创建新项目对话框中,选择 C#语言以过滤项目模板,在搜索模板框中输入 ,然后选择控制台应用程序。

确保您选择了跨平台项目模板msbuild,而不是仅适用于 的.NET 模板,并且选择了 C#项目模板,而不是其他语言,如 Basic 或 。

点击下一步。在配置新项目对话框中,输入 作为项目名称, C: 作为位置, 作为解决方案名称。

在以下链接的 仓库中可以找到创建新项目时 的截图:。

点击下一步。在附加信息对话框中,在框架下拉列表中,请注意您的 .NET SDK 选项指示该版本是标准支持、长期支持、预览还是不再支持,然后选择 .NET 9.0(标准支持)。

您可以安装任意数量的 .NET SDK 版本。如果您缺少某个 .NET SDK 版本,可以从以下链接安装: 。

将标记为“不要使用顶级语句”的复选框保持清空。(在本章后面,您将创建一个选择此选项的控制台应用程序,因此您将看到区别。)将标记为“启用本机 AOT 发布”的复选框保持未选中状态。您将在第 7 章《打包和分发 .NET 类型》中了解此选项的作用。点击创建。如果您看不到解决方案资源管理器,请导航到视图 | 解决方案资源管理器。如果代码未显示,则在解决方案资源管理器中双击名为 .cs 的文件以打开它,并注意解决方案资源管理器显示 项目,如图 1.4 所示:

图 1.4:在 中编辑 .cs

在 .cs 中,请注意代码仅由一个注释和一个语句组成,如以下代码所示:

// See https://aka.ms/new-console-template for more information 
Console.WriteLine("Hello, World!");

此模板使用了在 C# 9 中引入的顶级程序特性,我将在本章后面进行解释。正如代码中的注释所述,您可以在以下链接中阅读有关此模板的更多信息:。在 .cs 中,修改第 2 行,使写入控制台的文本显示 Hello, C#! 。所有您必须查看或输入的代码示例和命令均以纯文本形式显示,因此您无需从截图中读取代码或命令,例如图 1.4,可能在打印时过小或过淡。


限时特惠:
本站持续每日更新海量各大内部创业课程,一年会员仅需要98元,全站资源免费下载
点击查看详情

站长微信:Jiucxh

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注