Its no different than the craziness of angular or node or react. All of them follow that pattern now.
I ended up ditching visual studio and solution files though. Vscode and the dotnet cli are a good compromise and arguably more productive than trying to discern what some visual studio wizard just did to your code.
This is my largest gripe with dotnet. It seems to have been taken over by the front-end web dev types who have done so much damage elsewhere, and are on a crusade to spread their questionable practices.
The churn is getting too fast as they start to get out from under the shadow of continued compatibility with legacy 4.X dotnet. When languages move this fast, the library and tooling ecosystems cannot keep up and you lose one of the greatest advantages that C# had possessed.
^^ The sad truth. I feel a lot of optimism for .NET due to the still struggling state of cross-platform development but the obsession with front-end web dev is drawing us deeper into a rabbit hole that I think we are all just about done with. We need to be using the same language for the front end and back end. Angular/typescript with node.js for web apps. Want something else? Prove why we need to duplicate all of our data structures and business logic. C# for the UI and back end? Sure. Just make sure to conjure up the $billon of tooling and libraries that we need.
I ended up ditching visual studio and solution files though. Vscode and the dotnet cli are a good compromise and arguably more productive than trying to discern what some visual studio wizard just did to your code.