I agree with a lot of answers here. .NET did not have a large number of independent IDEs; you used Visual Studio to write code, manage your dependencies, etc. The solution in VS is good enough for MSBuild, so you use build servers.
Java, on the other hand, has developed many IDEs, and Java has taken the path of managing projects external to the IDE. Exempting a developer from using their IDE. I recently started cross-training with C # in Java, and I can tell you that the concept of building maven is pretty alien, but then after a while I like it, and more importantly, I see what the repo concept offers.
Now, as VS managed dependencies require you to add a link to a project or a link to a DLL. This adding a link to a DLL is erroneous. How do you manage versioning, how do you structure third-party DLL files from external and internal sources, as well as DLLs that you would like to include from your own team, but not as a link to the project. I did a lot of workarounds, based mainly on the file structure of the directories, but none of them are elegant or great when the versions change. Also makes branching difficult because it becomes a consideration in how you structure directories.
Now I have been working with Java and the mavan public repositories, super cool. I worked with Python, and pip install was effectively pulled out of public repositories again. Finally, I did some things again in C # with VS 2015, and integrating with Nuget is exactly what was missing.
Now in a corporate environment, public repositories are not always directly accessible, so you need corporate repositories. Again, non-Microsoft ecosystems are ahead.
Basically, Java summarization evolved from a more open source environment where IDE maintenance was not used, while .NET evolved from Visual Studio managing the project, and these different paths meant that the repo later came into Visual Studio.
Finally, and this is my observation, the Java community has a tendency to use other frameworks for people more, since Java core libraries offer less. While .NET people write a lot more than their code. The java community has a large ecosystem of patterns and practices, while .NET has written its own code again or has been waiting for Microsoft. This is changing, but again showing why .NET is behind Java in the requirement for repos.