Ich stimme vielen Antworten hier zu. .NET hatte keine große Anzahl unabhängiger IDEs. Sie haben Visual Studio verwendet, um Ihren Code zu schreiben, Ihre Abhängigkeiten zu verwalten usw. Die Lösung in VS ist gut genug für MSBuild, sodass Sie diese von Ihren Build-Servern verwenden.
Java hingegen hat viele IDEs weiterentwickelt, und Java hat einen Weg eingeschlagen, Projekte außerhalb der IDE zu verwalten. Geben Sie dem Entwickler die Möglichkeit, die IDE seiner Wahl zu verwenden. Ich habe vor kurzem mit dem Cross-Training von C # nach Java begonnen und kann Ihnen sagen, dass das Maven-Build-Konzept ziemlich fremd ist, aber nach einer Weile liebe ich es, und was noch wichtiger ist, ich sehe, was mir das Repo-Konzept bietet.
Wie VS nun verwaltete Abhängigkeiten erfordert, müssen Sie entweder eine Projektreferenz oder eine Referenz zu einer DLL hinzufügen. Das Hinzufügen einer DLL-Referenz ist fehlerhaft. Wie verwalten Sie Versionsänderungen, wie strukturieren Sie DLLs von Drittanbietern aus externen und internen Quellen sowie DLLs, die Sie von Ihrem eigenen Team aufnehmen möchten, jedoch nicht als Projektreferenz. Ich habe viele Workarounds durchgeführt, die im Allgemeinen auf der dateibasierten Verzeichnisstruktur basieren, aber keine davon ist elegant oder großartig, wenn sich die Version ändert. Dies erschwert auch die Verzweigung, da dies eine Überlegung bei der Strukturierung der Verzeichnisse darstellt.
Jetzt habe ich mit Java und öffentlichen Mavan Repos gearbeitet, super cool. Ich habe mit Python gearbeitet und die Pip-Installation wieder effektiv von öffentlichen Repos durchgeführt. Schließlich habe ich mit VS 2015 wieder ein paar Sachen in C # gemacht und die Integration mit Nuget hat genau gefehlt.
Im Unternehmensumfeld sind öffentliche Repos nicht immer direkt zugänglich, sodass Sie Unternehmens-Repos benötigen. Auch hier sind Nicht-Microsoft-Ökosysteme voraus.
Zusammenfassend lässt sich sagen, dass Java aus einer Open-Source-Umgebung hervorgegangen ist, in der die IDE-Projektwartung nicht verwendet wurde, während .NET aus der Verwaltung des Projekts durch Visual Studio hervorgegangen ist. Aufgrund dieser unterschiedlichen Pfade werden Repos später in Visual Studio bereitgestellt.
Schließlich und dies ist meine Beobachtung, tendiert die Java-Community dazu, die Frameworks anderer Leute häufiger zu verwenden, da die Java-Basisbibliotheken weniger bieten. Während .NET-Leute viel mehr von ihrem eigenen Code schreiben. Die Java-Community verfügt über ein größeres Ökosystem an Mustern und Praktiken, während .NET erneut eigenen Code schrieb oder auf Microsoft wartete. Dies ändert sich, zeigt aber erneut, warum .NET bei der Anforderung von Repos hinter Java steht.