如何在 Linux Mint 上安装 .NET 10
在C#开发的世界中,Linux正在成为一个越来越常见的目标平台。 然而,许多.NET开发者实际上从未从头开始在Linux上设置开发环境。 这个过程比大多数人想象中要简单,但与Windows的工作流程差异可能会让人措手不及。
在他的视频《在Linux Mint上安装.NET 10》中,Tim Corey全面地演示了在Linux Mint上运行.NET 10 SDK、创建C#文件并直接从终端执行它们的全过程。 我们将一步一步地跟随他的例子,展示Linux如何处理软件包管理、文件创建,以及.NET 10中的新单文件执行功能。
如果您一直在Windows上专门进行C#开发并想了解.NET在Linux上的工作原理,或者如果您是首次设置跨平台开发环境,这篇文章涵盖了视频中演示的所有内容。
为什么终端在Linux上很重要
[0:49 - 1:23] Tim以Windows开发者常常抗拒的观点开始说明:在Linux上,终端是完成任务的默认方式。 但他为此提出了一个实用的理由。 终端命令是精确且可编写脚本的。 当GUI更改其布局时,包含截图的每个教程都变得过时。 终端指令可以多年保持准确。
特别是在设置.NET时,命令是在任何基于Debian的发行版中都能简便重复的。
更新软件包管理器
[1:23 - 1:56] 在安装任何东西之前,先运行软件包列表更新:
// Terminal command (not C#, run in your Linux terminal)
sudo apt update// Terminal command (not C#, run in your Linux terminal)
sudo apt update此命令实际上并不会安装或升级任何东西。 它刷新了可用软件包的本地索引,以便apt知道哪些版本是最新的。 可以将其视为在购物前同步您的软件包目录。
安装.NET 10 SDK
[1:56 - 3:46] 更新软件包列表后,安装SDK:
sudo apt install dotnet-sdk-10.0sudo apt install dotnet-sdk-10.0Tim在此处强调了SDK和运行时之间的重要区别。运行时是您在仅需运行.NET应用的生产服务器上会安装的。 SDK更大,因为它除了运行时外还包括编译器、构建工具和项目模板。对于开发工作,您总是需要SDK。
视频中的一个实用提示:在断网的情况下运行此命令会生成大量晦涩难懂的错误。 解决方法只是连接到网络。 这是容易忽视的事情,尤其是在可能不像Windows那样自动连接网络的笔记本电脑上。
验证安装
[3:46 - 4:06] 安装完成后,验证它:
dotnet --versiondotnet --version输出显示类似10.0.103的内容。 请注意,您在安装时并未指定该补丁号。 软件包管理器自动抓取.NET 10 SDK的最新可用版本。
创建工作目录
[4:06 - 5:01] 在编写任何代码之前,先为演示文件设置一个文件夹。 视频中显示了终端和桌面文件管理器并排显示:
// Terminal commands
ls // List current directory contents
mkdir demos // Create a new folder
cd demos // Move into it
ls // Verify it's empty// Terminal commands
ls // List current directory contents
mkdir demos // Create a new folder
cd demos // Move into it
ls // Verify it's empty同一个文件夹显示在文件管理器(Linux Mint上的"文件")中,这加强了终端和GUI操作在同一个文件系统上工作的观点。 您可以根据自己的喜好使用其中任何一个,或两者兼用。
创建并运行一个单独的C#文件
[5:01 - 8:14] 这是Tim在.NET 10中突出的一个功能,大大改变了快速测试工作流。 您可以直接运行一个独立的Program.cs样板。
使用touch创建文件:
// Create an empty file
touch demo1.cs// Create an empty file
touch demo1.cs然后在nano中打开它,一个基于终端的文本编辑器:
// Open in the terminal editor
nano demo1.cs// Open in the terminal editor
nano demo1.cs在编辑器中,他输入了一行C#代码:
Console.WriteLine("Hello World");Console.WriteLine("Hello World");使用Enter保存后,他运行了它:
// Execute the .cs file
dotnet run demo1.cs// Execute the .cs file
dotnet run demo1.cs第一次执行需要一点时间进行编译,然后打印Hello World。 只需一个文件和一条命令。
构建更具交互性的东西
[8:17 - 10:27] 第二个例子展示了用户输入和字符串插值:
touch demo2.cstouch demo2.cs在Xed(Linux Mint的默认文本编辑器)中打开它,Tim写道:
Console.Write("What is your first name? ");
string? name = Console.ReadLine();
Console.WriteLine($"Hello {name}");Console.Write("What is your first name? ");
string? name = Console.ReadLine();
Console.WriteLine($"Hello {name}");Tim在打字时发现了一个错误,最初写成Console.Write。 没有IntelliSense,这些失误很容易发生。
运行文件:
dotnet run demo2.csdotnet run demo2.cs程序要求输入一个名字,Tim输入"Tim",它输出了"Hello Tim"。 完整的C#开发循环(编辑、编译、运行、交互)只需一个文本编辑器和SDK。
在没有IDE的情况下工作的价值
[8:41 - 9:54] Tim在这里提出了一个更广泛的观点:每个开发者都应该偶尔在没有IDE的情况下编写C#。这不是因为IDE不好,而是因为它们填补了很多空白(分号、闭合括号、正确的方法名),以至于您可能与基本知识失去联系。 在Linux上的纯文本编辑器中花时间是强化这些基础知识的好方法。
对于实际的开发工作而言,VS Code与C# Dev Kit是所有平台上首选的编辑器,而JetBrains Rider现在提供了免费社区版以供个人项目使用。 两者在Windows、macOS和Linux上的工作方式相同。
探索项目模板
[10:34 - 11:42] 除了单文件执行外,还有完整的项目模板可用:
dotnet new listdotnet new list运行该命令显示了所有可用的选项:控制台应用程序、Web API、Blazor应用、类库等。 如果您想创建一个标准的控制台应用程序:
dotnet new console -n MyApp
cd MyApp
dotnet rundotnet new console -n MyApp
cd MyApp
dotnet run这会创建一个熟悉的项目结构,其中包含一个Program.cs。 从那里,您可以添加NuGet包,引用其他项目,并构建您在Windows上会构建的任何东西。
总结:从安装到运行代码仅需几分钟
[11:42 - 13:05] Tim总结时鼓励开发者在使用IDE之前,花时间熟悉仅用终端的工作流程。通过Linux的标准包管理器,.NET SDK的安装只需一条命令,而且您获得的工具(构建、运行、模板化和单文件执行)与在Windows或macOS上所拥有的完全相同。
所演示的内容加强了这一点:学习曲线不在于C#或.NET。 而是变得对不同的工作流感到舒适,这种舒适感很快就会到来。
结论
[13:05 - 13:41] 总结:要在Linux上运行.NET 10,需要两个命令(sudo apt install dotnet-sdk-10.0),从那里您可以立即编写并运行C#。 在终端工作的实用技能,会直接转移到您遇到的每个基于Linux的部署环境中。
所以下次您设置新机器或启动Linux虚拟机时,完整的.NET开发体验仅需几分钟。
示例提示:如果您在测试一个快速想法或调试特定行为,完全跳过dotnet new console。 只需创建一个dotnet run filename.cs运行它。 这是从想法到执行.NET 10的最快路径。

