Home > Blockchain >  dotnet sdk is installed but not recognized - Linux Ubuntu/popOS 22.04
dotnet sdk is installed but not recognized - Linux Ubuntu/popOS 22.04

Time:08-11

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.

  1. Removed all .NET packages
    sudo apt remove dotnet*
    sudo apt remove aspnetcore*

  2. Deleted PMC repository from APT, by deleting the repo .list file
    sudo rm /etc/apt/sources.list.d/microsoft-prod.list

  3. Ran sudo apt update

  4. 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
  • Related