下载和安装
许多专业的 .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 所示:
图 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