15
votes

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

7

7 Answers

22
votes

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.

1
votes

try deleting the .vscode folder from the dotnet root project. Then restart the vscode project window this .vscode folder will regenerate automatically while you are asked to add configuration. And now your c# debugging should be working fine. It worked for me on Linux.

0
votes

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.

0
votes

Uninstalling dotnet and vscode did not work for me, nor did removing ~/.vscode

Eventually I resolved the issue by removing this directory ~/.config/Code. That directory contains various settings so you may wish to back it up / you may wish to retain your settings.json file.

There is probably a specific value somewhere in that directory that causes this particular issue but I didn't want to sift through it to find the culprit - probably easier to just start again.

0
votes
0
votes

I deleted the "dotnet" folder from my personal folder and it worked. Apparently, when I downloaded the SDK, I made a mistake.

0
votes

The solution may be that you installed .NET using the default instructions using export DOTNET_ROOT etc, and putting that in ~/bashrc
The best way is, to install .NET SDK using

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

Full instructions on https://docs.microsoft.com/en-us/dotnet/core/install/linux-ubuntu.

Now, .net install will indeed involve a 'symlink' about which the debugger complained. It should work.