As the title says, you probably guessed it already. For work I mainly develop on the .NET platform using a Windows device, but at home I enjoy all the benefits of a good OS.
Now I kinda want to get my C# skills “sharper” and have some projects in mind utilising it, but I’m a bit miffed about the development tools and possibilities of deployment available for me on Linux.
Also I may want to coerce my boss to let me work on a device with my OS of choice.
Any advice from devs that are in a similar spot? What do you use for .NET development on Linux? And are there any cool multiplatform deployment possibilities (next to Xamarin/Maui) that actually let me build natively on Linux?
Rider on Linux is amazing.
Avalonia and UNO are your best bets for cross-platform.
I’m a professional and hobbyist C# .NET dev and I recently made the switch to a full Linux environment at home. I’ve gotten a great workflow setup with just VSCode and some extensions. I’ve actually found some ways to improve my workflow with VSCode vs Visual Studio and I’m glad I made the switch. The only thing I really miss is the phenomenal diagnostics and profiling I would get with a full Visual Studio install, but I’m getting used to using cli dotnet tools to replace that as well.
If you’re going the VSCode route, feel free to ask me more questions on useful extensions or workflow tweaks!
I haven’t really distributed any binaries yet, everything I work on is just FOSS at https://github.com/MattMckenzy.
However, I did look into packaging my HomeCast project in my own debian apt repository. It’s still unsigned at the moment, but when I get to it I imagine I’ll just use dpkg and gnupg2 however I need to.
I do all my editing in neovim, with omnisharp as an lsp. It works pretty well. Happy to send you my dotfiles if you want.
As far as deployment, dotnet just runs on Linux now, especially if you’re do8ng web, its all the same. I deploy through containers to kubernetes, and its super smooth
As a non-programmer, this entire comment sounds straight out of a Neal Stephenson sci-fi story.
I use the dotnet/sdk
image to build and publish into the dotnet/aspnet
for runtime since it’s smaller. Both from mcr.microsoft.com
I would love to use neovim for my work C# development.
I’ve tried omnisharp with vscode in the past, but I found I had to restart it frequently. Hopely it would be more stable now
Can you please share your dotfiles?
Been a long while since I’ve done any C#, but for other languages (Java, Python, Kotlin) I’ve very much enjoyed the JetBrains IDEs. They have a dedicated C# one as well, though I’ve not used it.
JetBrains Rider: I use it, and I love it; I used it during my day job on Windows until they got restrictive on only using company-authorised software (😭), but I still use it on Linux and macOS for any C# work I do outside my day job. All the benefits of their Visual Studio add-in, Resharper, are built-in to Rider.