That's partially attributed to the fact that .NET is a truly batteries included solution and quality of it is generally good enough that there is no need for second or third alternatives for every basic thing.
I don't doubt your comment, but I immediately thought to compare to Java. Why does Java have exactly what you mention -- "second or third alternatives for every basic thing"? Is it easily explained by age as a language? Also, can you provide a concrete example of something that .NET includes in the core that Java does not?
If I were to ask you, how many APIs do you think “core” (w/e you consider core) does Java have. Think of a number before opening the link below and then let me know what you had in mind.
Generally .NET's "out-of-the-box" experience is comparable to using Java with a framework like Spring, as it includes a built-in DI container, a modern ORM (Entity Framework), a complete web stack (ASP.NET) with the high-performance web server (Kestrel) and so on. Because these first-party tools receive strong support from both Microsoft and the community and set a very high standard, which likely reduces the incentive for third-party alternatives to emerge. Of course, there are also many quality third-party solutions, but these mostly cover areas that are not covered well by .NET. You could happily build a lot of things using only .NET, without needing any third-party dependencies.