> upgrading between versions has been trivial since .NET 6
I don't understand this. I love C# as a language, but the idea that everyone is forced to upgrade every single library every 2 years is beyond unreasonable. I've recently run into a situation where some configuration behavior deep in ASP.NET just randomly changed between .NET 8 and .NET 10, and broke things. A runtime exception, not a compile-time one. What else is subtly broken in a DLL referenced by a reference of a reference? You may never know.
It seems like every software engineer has forgotten that code is ultimately math. All of the greats understood this, from the times of Alan Turing through the 1990s. Then all of a sudden it became some sort of a toy, a game for 20-year-olds to one-up each other, to move fast and break things. Somehow, as software development matured, it became less of a serious discipline. Now, we have an entire ecosystem where it's just accepted that any line of code you've ever written may just randomly break every 2 years. You can no longer just write a small C# library and expect to to continue to work forever. It's completely unacceptable in my view.
It sounds like .NET Framework is for you. Support until sometime after 2030 (or more likely "forever", because it'll always be shipped with windows server and inherit its support lifecycle).
That said, I'd second the assertion that upgrades after .net6 are, for the vast majority of applications, trivial.
We update all our dependencies weekly. It's mostly automated. This is the way it should be. It's not particularly hard.
> the idea that everyone is forced to upgrade every single library every 2 years is beyond unreasonable
That's overstating the case. A library that targets dotnet 6.0 will often continue to restore and run in a dotnet 8.0 application. The notable exceptions are framework-aligned packages like Microsoft.Extensions. Most of the time you just need to bump the target framework in the props file, check it builds, run unit tests, and upgrade a few library packages that might need it.