Hacker News new | ask | show | jobs
by filleokus 459 days ago
"Modern" .NET (previously ".NET Core" v1, v2, v3 - but now just ".NET" v6, v7, v8, v9) works really well on Linux and in containers etc. "Legacy" .NET, .NET Framework, version 4.X, does not.

If you build something new today in .NET land you are using a version that is compatible out of the box with linux, but there's gazillions of LOC .NET Framework out in enterprises that have yet not been migrated/rewritten.

But I don't actually know if Mono is stable enough to run Framework services on Linux?

I don't know how (if at all) Kudu is related to Mono, but on Azure you can run .NET Framework in e.g App Services (which uses Kudo under the hood). It's probably the only way to host a Framework service outside of IIS on a Windows VM. And Kudo contains references to Mono, and looks really linuxy when I've used it.

2 comments

It 100% is! I've used Mono years ago to run older .net in VMs and containers. I found a single service that didn't really work well and we spent our time working on that instead of rewriting the world.
Can you provide any details on what did and did not work well in V4 that was different afterwards?
> If you build something new today in .NET land you are using a version that is compatible out of the box with linux

This is not a generally true statement, particularly with anything involving UI. WPF or anything modern WinForms are not supported. MAUI has no official Linux support.

And neither is recommended to be used over AvaloniaUI (or Uno, or Gir.Core if you want to target just Linux), which supports it.

Given the amount of whining about Linux GUI support despite good and proven solutions being provided, it leaves me with an impression some parts of Linux community actually don't want support at all and the goal is to have a convenient scapegoat to complain about.

Yeah sorry, I'm too focused on backend services.