When I started learning .NET Core I was amazed at the fact that it was so easy to run something on Linux. I tried using VS Code and Xamarin Studio (or whatever it was called) to code but it was not up to par with the experience in VS Professional. That was a few years ago. So I’m wondering:
Have things improved?
Any developers here that code on Linux on a daily basis?
Does Rider fill the gap?
What is preventing you from making the switch?
The things that were missing or annoyed me back then:
Code formatting between VS Professional and Xamarin was different
Templates for new projects where different between VS Code and VS Professional
Features like extracting an interface from a class were missing
It’s much better now. To the point that we can even do development in Neo/Vim now with integrated LSPs (omnisharp-roslyn). I have to mention that I don’t write C# daily, but I do write it semi-regularly.
VSCode is good for this too; I haven’t tried Rider. The one thing I haven’t found is a simplistic UI drag and drop creator like Visual Studio. I’m assuming that’s coming with MAUI
Rider is an absolutely joy to use, and beats VS in a lot of cases. The .NET Core experience on Linux is fantastic (with the exception of UI programming, which is quite limites) – I highly recommend you try it.
Personally, I use nothing but Linux, and I couldn’t be happier.
This sounds as music to my ears!
I use Windows and deploy on Linux. What bothered me about VSCode was I couldn’t use all the same key combos to navigate and execute things. Some worked, some didn’t. I use the keyboard heavily.
Why not develop on Windows and run on Linux based server?
That’s what I’ve been doing for the last 8 years. But I prefer Linux as my Desktop OS.
linux + .net core + rider = ❤️
The only wish I have is a free version of rider.
I develop .NET Core applications on linux using Rider (daily, at my job) and it’s a joy to use.
The application I currently work on is a REST api (asp.net core) with a MS SQL Server database. I run the sql server in a docker container. It has been a joy to develop using Rider and actually a lot of our backend developers switched from “VisualStudio+ReSharper” to Rider (most of them on Windows). I think the tools included in Rider are very good: I love the git integration and the database tools. For example, when I have to review a pull request, I often open the branch in Rider and review the diff: it’s a lot better than going through a diff on the web.
There are still a couple of full .net framework applications that I am involved with and those I work on using Rider in a Windows VM. Rider can use mono to build your project, but mono is very slow and not always compatible with existing .net projects.
Rider is not free, but I think that the price is very reasonable (for my personal situation) and actually for a little bit extra you have the dotUltimate package. Do note that not everything in that package runs on linux, but JetBrains is working on have the complete cpu and memory profilers working on linux.
Genuine question (because I don’t know) but what is the purpose or goal of using .NET to build Linux applications? Are they cross-platform compatible?
Yes, .NET Core is truly cross platform, with a native Linux runtime. With docker, Linux is the choice of deployment for many to the cloud. In my previous company, we ran a multi-microservice application in Azure Kubernetes Service with Ubuntu VMs. Linux VMs are also much cheaper than Windows, and probably more lightweight in terms of resources (Windows docker images are still around 10GB)
I develop Web Services like REST API’s at my company. They have no GUI which makes it easy to run on Windows Linux or even Mac.
C# devs
null reference exceptions