I had the dotnet sdk working just fine yesterday, today when I login to my PC, I update the system and VSCode and then when I tried running dotnet watch run
, I got this error:
* You intended to execute a .NET application:
The application 'watch' does not exist.
* You intended to execute a .NET SDK command:
No .NET SDKs were found.
Download a .NET SDK:
https://aka.ms/dotnet-download
Learn about SDK resolution:
https://aka.ms/dotnet/sdk-not-found
Here is what happens when I try to do an apt install of the sdk(It shows already installed):
sudo apt install dotnet-sdk-6.0
[sudo] password for robinson:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
dotnet-sdk-6.0 is already the newest version (6.0.400-1).
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Here is my dotnet --info
:
global.json file:
Not found
Host:
Version: 6.0.8
Architecture: x64
Commit: 55fb7ef977
.NET SDKs installed:
No SDKs were found.
.NET runtimes installed:
Microsoft.AspNetCore.App 6.0.8 [/usr/lib/dotnet/dotnet6-6.0.108/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 6.0.8 [/usr/lib/dotnet/dotnet6-6.0.108/shared/Microsoft.NETCore.App]
From my googling, it seems it may be PATH issue, but I tried adding a few different paths and it still didn't work. here is the which dotnet:
/usr/bin/dotnet
And my echo path:
/home/robinson/.nvm/versions/node/v18.7.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/robinson/.dotnet/tools
I'm a linux noob, any help is appreciated. I'm running popOS on an x64 computer.
CodePudding user response:
I had the same problem, and here's what I did to resolve it.
Removed all .NET packages
sudo apt remove dotnet*
sudo apt remove aspnetcore*
Deleted PMC repository from APT, by deleting the repo .list file
sudo rm /etc/apt/sources.list.d/microsoft-prod.list
Ran
sudo apt update
Installed .NET 6 SDK via
sudo apt install dotnet-sdk-6.0
This is one of the solutions provided on the Github issues page for dotnet/core, please follow the original article if the above did not work for you. https://github.com/dotnet/core/issues/7699
CodePudding user response:
Check list of dotnet versions installed on your machine and check for other than the SDK, if any other dotnet sdk/runtime is installed on your machine.
dotnet --list-sdks
If there is multiple dotnet versions installed, theres a chance your default dotnet version is pointing to other versions, So change it
dotnet new globaljson --sdk-version 6.0.400-1 --force
Also you use the dotnet-core-uninstall tool to remove the not-required version of dotnet to get rid of the version issue. Note that you have to install it manually as it not part of the sdk/runtime.
dotnet -core-uninstall --all-previews-but-latest --sdk