Fellow .NET dev here, switched to Linux for side-gigs recently.
In general, the experience is a lot better than Windows / WSL. Some general remarks on the setup (relevant mostly for Debian-based distros, so YMMV):
- Rider / VSCode suggestion is spot on; go with the former if you have cash to spare and you’re fine with snaps, otherwise - DevKit can do DevKit things (with the only problem here being lack of .dcproj support in VSCode; can be ignored with proper integration test setup).
- Containerization of DBMS: by all means, go for it if you have the resources to spare.
- Possible gotchas:
- If you’re going to use MS apt feed for .NET runtime / SDK, set up apt preferences to point to their feed for dotnet packages. Otherwise, you’re in for a bad time when running updates.
- Docker: personally, I recommend Rancher Desktop for this purpose, as Docker Desktop on Windows left a bad taste in my mouth. If you’re fine with the latter, it’s up to your own preferences then.
- Test containers: if you do use it with anything else than standard, bare-bones Docker setup, you’ll need a custom config; stumbled upon that the first time I tried running integration tests.
C# on Visual Studio is a fucking nightmare. Switched to Rider on WSL the first chance I had, not looking back.
Then again, if this is running on .NET Framework, there is no choice, afaik. You get a buttplug made of barbed wire in Windows + VS, and you’ll like it