1

I have .NET 6 and .NET 7 on my Ubuntu system. When I try to execute a test in Rider it says dotnet 6 isn't installed. But it is. If I run dotnet --list-runtimes it shows only .NET 7.

Console output:

Reading state information... Done
aspnetcore-runtime-6.0 is already the newest version (6.0.110-0ubuntu1~22.04.1).
0 upgraded, 0 newly installed, 0 to remove and 10 not upgraded.
aaronlord@system76-pc:~/Downloads$ dotnet --list-runtimes
Microsoft.AspNetCore.App 7.0.0 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 7.0.0 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
aaronlord@system76-pc:~/Downloads$ dotnet --list-sdks
6.0.403 [/usr/share/dotnet/sdk]
7.0.100 [/usr/share/dotnet/sdk]
lorddev
  • 111
  • 6
  • 1
    Idk for sure, but offhand I'd presume that dotnet binary is actually a symlink that points to either .NET 6 or .NET 7 installation. Similarly to gcc installation: you can have different versions of gcc, but the gcc binary will point to only one of them. You can change which version it's pointing to with update-alternatives command – Hi-Angel Nov 21 '22 at 21:28

1 Answers1

0

Step 1: Uninstall https://askubuntu.com/a/1386715/231561

Step 2: Set props in preferences.d https://stackoverflow.com/a/73899341/16454

Step 3: Install with some explicit values https://github.com/dotnet/sdk/issues/27082#issuecomment-1211181940

I used

sudo apt install aspnetcore-runtime-6.0=6.0.11-1 dotnet-apphost-pack-6.0=6.0.11-1 dotnet-host=6.0.11-1 dotnet-hostfxr-6.0=6.0.11-1 dotnet-runtime-6.0=6.0.11-1 dotnet-sdk-6.0=6.0.400-1 dotnet-targeting-pack-6.0=6.0.11-1
lorddev
  • 111
  • 6