【问题标题】:Visual Studio Code C# Debugging Problem (The terminal process failed to launch: Path to shell executable "dotnet" is not a file of a symlink.)Visual Studio Code C# 调试问题(终端进程无法启动:shell 可执行文件“dotnet”的路径不是符号链接的文件。)
【发布时间】:2020-11-15 04:20:29
【问题描述】:

我使用dotnet new console 创建了一个工作区,编写了一些代码。但是,当我尝试使用 Visual Studio 代码中的“运行/开始调试”选项开始调试它时,它会失败并显示以下消息:

执行任务:dotnet build /home/MY USERNAME/Desktop/Codes/C#/Console/Console.csproj /property:GenerateFullPaths=true /consoleloggerparameters:NoSummary
终端进程启动失败:shell 可执行文件“dotnet”的路径不是符号链接的文件。
终端将被任务重用,按任意键关闭。

在终端中使用dotnet run 命令可以正常工作,没有任何问题。但是由于某种原因,使用启动调试选项失败。我真的不想每次启动程序时都要输入这个命令。

这是dotnet --info 命令的结果:

.NET Core SDK (reflects global.json if exists):\
 Version:   3.1.302\
 Commit:    41faccf259

Runtime Environment:\
 OS Name:     ubuntu\
 OS Version:  20.04\
 OS Platform: Linux\
 RID:         linux-x64\
 Base Path:   /usr/share/dotnet/sdk/3.1.302/

Host (useful for support):\
  Version: 3.1.6\
  Commit:  3acd9b0cd1

.NET Core SDKs installed:\
  3.1.302 [/usr/share/dotnet/sdk]

.NET Core runtimes installed:\
  Microsoft.AspNetCore.App 3.1.6 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]\
  Microsoft.NETCore.App 3.1.6 [/usr/share/dotnet/shared/Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:\
  https://aka.ms/dotnet-download

我已经对结果进行了一些翻译,它可能与原始输出不完全匹配

【问题讨论】:

    标签: c# .net visual-studio-code


    【解决方案1】:

    这个帖子好像没有人回复。我找到了解决它的方法。在“tasks.json”文件中,我将命令“dotnet”替换为“/usr/bin/dotnet”,现在它工作正常。但我认为实际问题与路径变量有关,我的解决方案只是暂时的。

    【讨论】:

    • 非常感谢,我也遇到了同样的问题,现在完全解决了。
    • 对我来说是:/usr/local/share/dotnet/sdk (Macos 10.15)。
    • 我不得不使用命令 $ whereis dotnet,然后使用路径 /home/{ user }/dotnet/dotnet (Ubuntu 20.04)
    【解决方案2】:

    尝试从 dotnet 根项目中删除 .vscode 文件夹。然后重新启动 vscode 项目窗口,这个.vscode 文件夹将在您被要求添加配置时自动重新生成。现在您的 c# 调试应该可以正常工作了。它在 Linux 上对我有用。

    【讨论】:

    • 在 Mac 11.4 Big Sur 上为我工作
    【解决方案3】:

    在 [LINUX] 中,$PATH 环境变量可能有另一个“dotnet”命令的路径。因此,您可以使用“echo $PATH”命令来检查它。如果是真的,那么您可以检查 bash 文件“sudo nano /etc/bash.bashrc”并使用“dotnet”注释删除导出。

    【讨论】:

      【解决方案4】:

      卸载 dotnet 和 vscode 对我不起作用,删除 ~/.vscode 也不起作用

      最终我通过删除此目录~/.config/Code 解决了这个问题。该目录包含各种设置,因此您可能希望备份它/您可能希望保留您的 settings.json 文件。

      该目录中的某个特定值可能会导致此特定问题,但我不想筛选它以找到罪魁祸首 - 重新开始可能更容易。

      【讨论】:

        【解决方案5】:

        在我的情况下,通过从下面的链接安装 dotnet 5 sdk 并重新启动 MAC 解决了问题。

        https://dotnet.microsoft.com/download/dotnet/thank-you/sdk-5.0.300-macos-x64-installer?journey=vs-code

        【讨论】:

          【解决方案6】:

          我从我的个人文件夹中删除了“dotnet”文件夹,它工作正常。显然,当我下载 SDK 时,我犯了一个错误。

          【讨论】:

            【解决方案7】:

            解决方案可能是您使用默认指令安装 .NET,使用 export DOTNET_ROOT 等,并将其放入 ~/bashrc
            最好的方法是,安装.NET SDK 使用

            sudo apt install 
            sudo apt-get update; \
            sudo apt-get install -y apt-transport-https && \
            sudo apt-get update && \
            sudo apt-get install -y dotnet-sdk-5.0
            

            关于https://docs.microsoft.com/en-us/dotnet/core/install/linux-ubuntu的完整说明。

            现在,.net 安装确实会涉及调试器抱怨的“符号链接”。它应该可以工作。

            【讨论】:

              【解决方案8】:

              在 settings.json 文件中进行以下更改(通常在 ~/.config/Code/User 目录中)。

              {
                  "terminal.integrated.profiles.linux": {
                     "bash" : { 
                         "path" : "/bin/bash", 
                         "icon" : "terminal-bash"
                        }
                      }
              }
              

              PS:使用 Ubuntu 20.04。删除 ~/.config/Code 和删除 ~/.vscode 都不适合我。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2022-07-01
                • 2021-05-25
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2021-02-11
                • 1970-01-01
                相关资源
                最近更新 更多