16

As instructed by the Rider IDE, I installed the .NET Core framework from Microsoft. I know that the installation was successful since I am able to run the dotnet command from my terminal. However, after restarting Rider, I still get the following message:

Cannot detect .NET Core. Please install .NET Core and restart Rider.

Am I doing anything wrong?

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Mutating Algorithm
  • 2,604
  • 2
  • 29
  • 66

8 Answers8

23

I managed to fix the issue setting

/opt/dotnet/dotnet

in

Settings | Build,Execution,Deployment |
  Toolset and Build | .NET Core CLI executable path

enter image description here

Previously, I was using /usr/bin/dotnet, but it doesn't work anymore. Also, auto detect seems to be broken.

Actually, /usr/bin/dotnet, the path returned by which dotnet, is just a shell file defering to /opt/dotnet/dotnet, as its content is:

#!/bin/sh

export DOTNET_ROOT=/opt/dotnet
exec /opt/dotnet/dotnet $@

# vim: ts=2 sw=2 et:
Arialdo Martini
  • 4,427
  • 3
  • 31
  • 42
7

I was just experiencing this issue due to a botched install of Xamarin Android on Arch Linux and was able to resolve it by doing the following:

First execute dotnet --info to get the path of .NET Core SDKs installed:

.NET Core SDK (reflecting any global.json): Version: 2.1.500
Commit: b68b931422

Runtime Environment: OS Name: arch OS Version: OS Platform:
Linux RID: arch-x64 Base Path: /opt/dotnet/sdk/2.1.500/

Host (useful for support): Version: 2.1.6 Commit: 3f4f8eebd8

.NET Core SDKs installed:
2.1.500 [/opt/dotnet/sdk]

.NET Core runtimes installed: Microsoft.NETCore.App 2.1.6
[/opt/dotnet/shared/Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download

Up one directory at /opt/dotnet/ there should be an executable named "dotnet." The absolute path to this file (/opt/dotnet/dotnet) should be set as the .NET Core CLI executable path value under FileSettingsBuild, Execution, DeploymentToolset and Build settings in Rider.

Just in case, here are my other toolset configuration settings:

Mono executable path: /usr/bin/mono

Use MSBuild version: Auto detected (15,0), /usr/lib/mono/msbuild/bin/MSBuild.dll

I also have the following values added to my PATH in .bashrc due to an error I received regarding Razor not being found:

export MSBuildSDKsPath=/opt/dotnet/sdk/$(dotnet --version)/Sdks

export PATH=${PATH}:${MSBuildSDKsPath}

Community
  • 1
  • 1
masterwok
  • 4,868
  • 4
  • 34
  • 41
2

None of these worked for me. I am on PopOS and found a solution here shown in the below screenshot. I think in general it is still a bad idea to install anything from Jetbrains through the Snap store. I've had issues with Intellij and Pycharm as well dating back to ~2014 that were immediately resolved by not using the Snap store.

enter image description here

Frikster
  • 2,755
  • 5
  • 37
  • 71
1

You can set up the path to .NET CLI in Rider settings: menu File* → SettingsBuild, Execution, DeploymentToolset and Build. But usually Rider should auto detect it.

Please check what you have dotnet in your PATH. Pay attention; you should restart Rider after installing the .NET Core SDK.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
  • 1
    @Philippe I'm running into this same problem on Arch after trying to get Xamarin.Android working. Did you find a solution to this problem? – masterwok Nov 22 '18 at 20:29
  • Also on Arch. I downgraded to the previous version of dotnet (2.1.5). They show up now – Philippe Nov 23 '18 at 07:19
  • 1
    @masterwok on Arch, with DotNet (2.1.500) and Rider (2018.2.3) I managed to fix the issue specifying `/opt/dotnet/dotnet` in `Settings/Build,Execution,Deployment/Toolset and Build/.NET Core CLI executable path` – Arialdo Martini Nov 24 '18 at 06:28
1

My solution was run command dotnet new console on root of project. Then, the templates are showed.

1

Solution adapted from this answer on YouTrack.

Add the DOTNET_ROOT environment variable in the file launchsettings.json. In my case, it was: "DOTNET_ROOT": "/usr/share/dotnet"

Amjad Abujamous
  • 736
  • 9
  • 9
0

I made the rather silly mistake of installing .NET Core runtime but forgetting about .NET Core SDK (so the dotnet tool still worked). Once I actually installed the SDK, Rider instantly detected it (.NET 3.1 and Rider 2019.3).

The suggestion to use dotnet --info by masterwok quickly highlights this issue though.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Xymanek
  • 1,357
  • 14
  • 25
0

Neither reinstallation nor path opt/lib64/dotnet works for me.

I have to use the path /var/run/host/usr/lib64/dotnet for .NET cli executable path SDK instead.

Source: https://github.com/flathub/com.jetbrains.Rider/issues/36#issuecomment-1154737584

blaz
  • 3,981
  • 22
  • 37