Comment by ocdtrekkie

14 days ago

Then why are they separate versions? I've got like five modernish .NET runtimes installed on my machine, half are unsupported, and there's no way to identify which ones are still needed.

Meanwhile 4.8.1 is built int Windows and supports apps written over like the past fifteen years. Why wouldn't anyone just use that?

I'm sure modern .NET has some nice things but the release model is not one of them.

Compared to Framework 4.8, modern .NET has a LOT more stuff in it, every year it gets more stuff and its essentially on version 9 now (they skipped .NET 4).

I stick to the LTS versions which are the even numbers and they are supported for 3 years each. after 2 years in, the next LTS is out and all I typically have to do is bump up .NET target number in the project and I haven't really had a problem. There were more changes back in the .NET Core 3 and .NET5/6 days, but that was like 5+ years ago now.

Also, you can build your apps with the framework included in a single executable even, and so anyone can use your app without having the framework installed at all if you are worried about whether the framework version is installed on their system or not.

Also if you wait the 3 years to upgrade the .NET version, then I doubt you would ever have a problem where the target system didn't already have the new LTS version after it will have been out for a year at that point.

If you really don't care at all about cross platform support which .NET offers really well now, then you could keep using Framework 4.8, but after nearly 10 versions of .NET the improvements to the C# language and runtime and everything are hard to ignore. Though I think there is some way with some package you can use the new C# language features with Framework 4.8.

  • I mean, if Microsoft cared about cross-platform support, I would too. But they don't have an officially supported GUI framework for Linux. I understand there are new things in the new .NET, but the story for upgrading to it and supporting it still isn't worth it.

    When Windows builds in a modern .NET, I will use it! Bear in mind all of this above churn, while they claim is the new way things work, is inherently temporary: The reason .NET 4.8 is so well supported is Windows is built on it. So if Microsoft ever wants to use those newer things in Windows... Windows will have to build-in modern .NET features someday.