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?
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
What is your container base image?
I use the
dotnet/sdk
image to build and publish into thedotnet/aspnet
for runtime since it's smaller. Both from mcr.microsoft.comThey are windows or Linux base?
All linux! I think debian, though they have alpine images too.
I wouldnt wish windows containers on my worst enemy haha.
Oh I didn't think mcr.microsoft provided Linux base, ok good to know.
I've reviewed a few PRs with that in the dockerfile and thought it was always windows based, good to know!
I think there are windows containers available, but even M$ has given up pushing windows server for cloud native stuff. All their tutorial docs for containers use linux haha
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?
Just sent them to you.
Once in a blue moon i have to restart omnisharp, but its just a simple
lsp restart
Much less often these days then even a year ago
I also use neovim through WSL on windows to do work