Using Rider under Linux: prerequisites

Development in JetBrains Rider under Linux will require at least one of the following additional frameworks depending on the kind of developed application:



dnx is already deprecated & replaced with .net cli - so should rider work with .net cli too?


I'm running Ubuntu 16.04 with latest Mono (4.2.1) and .NET Core 1.1. When I try to open up a basic hello world project, I get the following:


Project 'helloworld' load failed
The lifetime has already been terminated.
Object name: 'Lifetime'.

Project 'helloworld' load failed: Can't connect to MsBuild project model process in 600000 ms


Any ideas on what the issue/solution could be?


@Brandon, You may try to update mono to 4.8 or 5.0, if it will not help, then zip and submit somewhere all logs from Help->Show log in Files folder. Follow up here.

Edited by Ivan Shakhov

Hi, I'm using Ubuntu 16.04 and I've installed Mono (5.2) and .NET (2.0). I created the sample shown here to verify that Mono is working.

I can run the application from the command line as the instructions say. But when I open the file in Rider 'Forms' in 'using System.Windows.Forms;' is red (and everything depending on it). Obviously I can not run the program from Rider and get the error: Program.cs(2, 22): [CS0234] The type or namespace name 'Forms' does not exist in the namespace 'System.Windows' (are you missing an assembly reference?).

What do I have to do to make Rider pick up the red parts? 


I have Ubuntu 18 running in a VirtualBox. Installed dot net core as shown under prerequisites link. Logged in to Ubuntu as root. When I run the ./, It returns "Killed". I don't see that message in the .sh file... Linux newb. Any ideas?


EDIT: Problem was allocated memory in VirtualBox. Bumped to 6Gb and all is good.

Edited by Matthew Carr

On Linux Rider does not detect dot net core even though it is installed. Mono is detected. How does Rider find the dot net installation? The CLI tools are on my path and work just fine from the command line. I have looked and looked but I can't find any information or configuration settings that I can configure to make this work.



@Richard, does it work if you manually set dotnet path in Rider settings?



Thanks for pointing that out. I was able to get things working with that information. It should be noted that Rider seems to be making some assumptions about the path where the dotnet executable is found at. In my case the executable in the /usr/bin directory is actually a shell script that sets up the environment before calling the real dotnet executable /opt/dotnet/dotnet . You have to point the configuration at the real dotnet executable or Rider will not find the SDK or runtime. I would think this would be more portable if Rider just ran "dotnet --list-sdks" to find the install SDKs and "dotnet --list-runtimes" verses making assumptions about how dot net is installed on the host systems. This is especially true of Linux distros which may move things around or like in my case use a wrapper script that makes things easy from the command line but not so easy for Rider to make assumptions about file system layout.

Again thanks I have things working now.




We try to find dotnet in path and use it as a first choice. Why did you made such a thing with an executable in the /usr/bin directory? Is there recommendations to do things this way? Could you share with us? How common is this approach? It may also help, if you share the whole wrapper script (somewhere in gist). Thanks!


It is standard on all the linux distros ive used dotnet core on to have a shell script at /usr/bin/dotnet which then runs the actual executable /opt/dotnet/dotnet


/opt/dotnet is not on the path

Edited by Leecannon Siy

Please sign in to leave a comment.

Have more questions?

Submit a request