Earn More by Sharing What You Love
Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!

Tim Corey
19m 09s
在 Linux 上为 C# 开发设置 VS Code 大约需要十分钟,但 C# Dev Kit 扩展、热重载配置和开发证书行为都需要关注,才能有一个流畅的工作流程。 提前了解每个步骤使得流程可预测。
在他的视频"在 Linux 上使用 C# Dev Kit 的 VS Code"中,Tim Corey 详细介绍了完整设置:下载和安装 VS Code,添加 C# Dev Kit 扩展,创建 Blazor web 应用程序,调试它,并启用热重载。 我们将介绍每个步骤以及他遇到的问题以及如何解决它们。
如果您在上一集跟随过在 Linux 上安装 .NET 10 SDK,此处正好从那个地方继续。 最后,您将在 Linux 上拥有一个完整的本地开发环境,涵盖 Windows 设置的所有内容。
[0:42 - 1:59] Tim 首先澄清一个困扰很多人的问题:Visual Studio 和 Visual Studio Code 是不同的产品。 Visual Studio 是一个只在 Windows 上运行的完整 IDE,因为它依赖于 Windows 专用库。 VS Code 是一个轻量级、跨平台的文本编辑器,配合 C# Dev Kit 扩展,它成为一个适合大多数 .NET 开发工作的环境。
在实际操作中,这个区别很重要,因为 Visual Studio 根本无法在 Linux 上安装。 VS Code 是前进的道路。
[1:59 - 3:46] 安装过程很简单。 从Visual Studio Code网站下载.deb文件,打开它,包管理器会处理其余的内容。

这个安装的一个有用的副作用是:它自动将微软的软件包库添加到apt,这意味着通过正常的系统更新过程,VS Code可以保持为最新。 如果没有此项,您需要手动添加库及其签名证书。
安装后,将 VS Code 固定到任务栏,以便轻松访问。
[4:44 - 5:47] 打开扩展面板并搜索"C#"。 第一个结果应该是来自 Microsoft 的 C# Dev Kit。 截至视频录制时,它已有近1400万次下载。
此扩展是对简单文本编辑进行 C# 工作的重大升级。
启用自动更新安装它。
[5:47 - 8:03] 安装后,C# Dev Kit 要求您使用 Microsoft 账号登录以进行授权。 此款 Microsoft 的 C# 调试器是专有的,这就是为什么在提供完整调试体验之前需要身份验证。
条款很宽松:对个人开发者免费,对于年收入低于一百万美元且开发人员少于五人的公司免费,只有在超过这个门槛时才需要付费的专业许可证。
配置好 VS Code 后,Tim 直接从 IDE 创建了一个新项目。使用 "Create .NET Project" 命令,他选择了Blazor web 应用模板,并配置了 HTTPS、交互自动模式,以及包含的示例页面。

项目脚手架搭建完成后,解决方案资源管理器出现在左侧,显示了类似 Visual Studio 的项目结构。
要启动应用程序,请从侧边栏使用运行和调试,并选择 HTTPS 启动配置文件。VS Code 构建项目并在默认浏览器中打开它。
这是 Tim 遇到的.NET SDK 10.0.103中已知的回归问题:由于 SDK 构建中的合并冲突,开发证书未正确安装。 浏览器显示不受信任的证书警告。

解决方法是点击浏览器警告("高级"然后"继续")。 一旦完成,网站在 SSL 上运行良好。 回滚到 SDK 10.0.102 或更新到 10.0.104 都可以永久解决这个问题。
尽管证书出了点小问题,所有默认页面(主页、计数器、天气)都加载正常。
默认情况下,VS Code 中热重载是禁用的。 Tim 通过将"Hello, World"更改为"Hello, YouTube"来展示这一点,即使保存和刷新后浏览器中也没有更新。
启用它需要在 VS Code 中调整两个设置:

启用两个设置后,重新启动调试会话。 工具栏上会出现一个火焰图标,确认热重载已激活。现在保存 Razor 文件立即在浏览器中反映了更改。
[16:59 - 18:00] Tim 简要探讨了可用的项目模板,并作出重要的观察:任何名称中包含"Windows"的(WinForms、WPF、UWP)都无法使用,因为这些框架依赖于 Windows 平台。
在 Linux 上可用的工作涵盖了 .NET 生态系统中所有跨平台的内容:web 应用程序、ASP.NET Core API、gRPC 服务、类库、控制台应用程序、测试项目和工作人员服务。
对于 Linux 上的桌面应用程序,提到了 Uno Platform(使用 XAML 和 MVVM/MVUX)作为未来剧集的话题,用于构建跨平台桌面应用程序。
[18:02 - 18:28] 演练结束时,开发工作的每一部分都就位:编辑、构建、调试和实时重载都可以在 Linux 上的 VS Code 中完成。 从另一台机器打开现有的跨平台 .NET 项目应该可以不做任何更改地工作。
[18:02 - 19:07] 总结一下:VS Code与C# Dev Kit为Linux提供了完整的C#开发设置。安装是下载的.deb文件和一个扩展。 热重载默认关闭,但从设置面板启用不到一分钟。 而 SDK 10.0.103 中的开发证书问题已在 10.0.104 中解决。
您在生产中使用的大多数 .NET 项目类型(web 应用程序、API、服务、库)在 Linux 上都完全相同地工作。 那些设计围绕 Windows 特定 UI 框架的是预计的边界。
所以下次您在 Linux 上设置一个新的开发机,整个环境在几分钟内即可搭建完成。 唯一不明显的默认配置是热重载,但现在您确切知道在哪里可以找到它。
示例提示:如果在启用设置后热重载不起作用,请确保您完全停止并重启了调试会话。 调试工具栏上的火焰图标确认它已激活。如果没有看到图标,说明旧的会话仍在运行,并且没有应用新设置。
Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!
Join our newsletter, you’ll get exclusive access on article updates. We value your privacy