linux (ubuntu)使用vscode搭建c#的环境


第一步:根据linux发行版版本 安装 .net SDK

具体详情可参考

对于21.10版本

使用 APT 进行安装可通过几个命令来完成。 安装 .NET 之前,请运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加包存储库。

wget https://packages.microsoft.com/config/ubuntu/21.04/packages-microsoft-prod.deb -O packages-microsoft-prod.debsudo dpkg -i packages-microsoft-prod.debrm packages-microsoft-prod.deb

安装 SDK

  sudo apt-get update  sudo apt-get install -y apt-transport-https     sudo apt-get update     sudo apt-get install -y dotnet-sdk-6.0

安装运行时

sudo apt-get update  sudo apt-get install -y apt-transport-https  sudo apt-get update   sudo apt-get install -y aspnetcore-runtime-6.0

作为 ASP.NET Core 运行时的一种替代方法,你可以安装不包含 ASP.NET Core 支持的 .NET 运行时:将上一命令中的 aspnetcore-runtime-6.0 替换为 dotnet-runtime-6.0:

sudo apt-get install -y dotnet-runtime-6.0

第二步,记得下载c#的拓展

第三步: 创建c# 的正确步骤

使用 dotnet new console -o 《file name》 创建一个控台制窗口

如:

ding-jin-xing@dingjinxing-HP-Pavilion-Gaming-Laptop-15-ec1xxx:~$    dotnet new console -o MyNet已成功创建模板“控制台应用”。正在处理创建后操作...在 /home/ding-jin-xing/MyNet/MyNet.csproj 上运行 “dotnet restore”...  正在确定要还原的项目…  已还原 /home/ding-jin-xing/MyNet/MyNet.csproj (用时 125 ms)。已成功还原。
//解释dotnet new console命令为您创建一个新的控制台应用程序。-o参数创建一个名为MyApp的目录,在其中存储应用程序,并用所需文件填充它。cd MyApp命令会将当前目录更改为刚刚为新应用创建的目录。

此时我们可以找到我们创建的文件,可以在vscode 中直接打开这些文件夹

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iNYqpQun-1645625252619)(/home/ding-jin-xing/.config/Typora/typora-user-images/image-20220223215317472.png)]

但此时若右键运行以下的测试代码,会出错。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FJOuKXzk-1645625252620)(/home/ding-jin-xing/.config/Typora/typora-user-images/image-20220223215514720.png)]

报错:

[Running] scriptcs "/home/ding-jin-xing/文档/文档/c#Document/Program.cs"/bin/sh: 1: scriptcs: not found[Done] exited with code=127 in 0.014 seconds

我们只能通过在终端 使用 dotnet run 命令来运行程序

测试代码

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks; namespace _1002_for循环输出九九乘法表{    class Program    {        static void Main(string[] args)        {            int i, j, z;            for (i = 1, j = 1; i <= 1; i++)            {                Console.Write("{0}*{1}={2}" + "\t", i, j, z = i * j);            }            Console.WriteLine("\n");            for (i = 1, j = 2; i <= 2; i++)            {                Console.Write("{0}*{1}={2}" + "\t", i, j, z = i * j);            }            Console.WriteLine("\n");            for (i = 1, j = 3; i <= 3; i++)            {                Console.Write("{0}*{1}={2}" + "\t", i, j, z = i * j);            }            Console.WriteLine("\n");            for (i = 1, j = 4; i <= 4; i++)            {                Console.Write("{0}*{1}={2}" + "\t", i, j, z = i * j);            }            Console.WriteLine("\n");            for (i = 1, j = 5; i <= 5; i++)            {                Console.Write("{0}*{1}={2}" + "\t", i, j, z = i * j);            }            Console.WriteLine("\n");            for (i = 1, j = 6; i <= 6; i++)            {                Console.Write("{0}*{1}={2}" + "\t", i, j, z = i * j);            }            Console.WriteLine("\n");            for (i = 1, j = 7; i <= 7; i++)            {                Console.Write("{0}*{1}={2}" + "\t", i, j, z = i * j);            }            Console.WriteLine("\n");            for (i = 1, j = 8; i <= 8; i++)            {                Console.Write("{0}*{1}={2}" + "\t", i, j, z = i * j);            }            Console.WriteLine("\n");            for (i = 1, j = 9; i <= 9; i++)            {                Console.Write("{0}*{1}={2}" + "\t", i, j, z = i * j);            }            Console.WriteLine("\n");            Console.ReadLine();        }    }}
运行结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MdXZdRDn-1645625252621)(/home/ding-jin-xing/.config/Typora/typora-user-images/image-20220223220132949.png)]

当然我们可以在终端使用 vim 《file name》、

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nrnNMZo7-1645625252621)(/home/ding-jin-xing/.config/Typora/typora-user-images/image-20220223220426243.png)]

对 .cs文件进行编写

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eq31r9pM-1645625252622)(/home/ding-jin-xing/.config/Typora/typora-user-images/image-20220223220321269.png)]