VSCode C# Debugging Problem (The terminal process failed to launch: Path to shell execut

https://stackoverflow.com/questions/63088161/visual-studio-code-c-sharp-debugging-problem-the-terminal-process-failed-to-lau

I created a workspace using dotnet new console, wrote some code. But when I try to start debugging it using the option Run/Start debugging in visual studio code, it fails with the message:

Executing task: dotnet build /home/MY USERNAME/Desktop/Codes/C#/Console/Console.csproj /property:GenerateFullPaths=true /consoleloggerparameters:NoSummary
The terminal process failed to launch: Path to shell executable "dotnet" is not a file of a symlink.
Terminal will be reused by tasks, press any key to close it.

Using the dotnet run command in terminal works fine without any problems. But using the start debugging option fails for some reason. I really don't want to have to type this command every time I want to start the program.

Here is the result of dotnet --info command:

.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

I've done some translating with the result, it may not match entirely the original output

 

Solution 1:

Seems like this post isn't going to be answered. I've found a way to solve it. In "tasks.json" file i replaced the command "dotnet" with "/usr/bin/dotnet" and it's working fine now. But i think that the actual problem has something to do with the path variable and my solution is just a temporary one.

 

Solution 2:

In [LINUX] the $PATH environment variable may have another path to the "dotnet" command. So, you can use "echo $PATH" command to check it. If it's true, then you can check the bash file "sudo nano /etc/bash.bashrc" and remove the export with "dotnet" note.

你可能感兴趣的:(C#,Linux)