我同意这里的许多答案。.NET没有大量独立的IDE,您使用Visual Studio编写代码,管理依赖项等。VS中的解决方案对于MSBuild来说已经足够好,因此您可以在构建服务器中使用它。
另一方面,Java演变了许多IDE,而Java走上了管理IDE外部项目的路线。使开发人员可以选择使用自己的IDE。我最近开始从C#到Java进行交叉培训,我可以告诉您maven构建概念是非常陌生的,但是过了一会儿我喜欢它,更重要的是,我看到了repo概念为我提供了什么。
现在,VS受管依赖项的方式要求您添加项目引用或对DLL的引用。DLL参考的添加存在缺陷。您如何管理版本更改,如何从外部和内部资源以及您希望从自己的团队中获取的dll来构建第三方的dll,但不能作为项目参考。我通常基于基于文件的目录结构完成了许多变通方法,但是它们都不是优雅的,或者在版本更改时效果不佳。也使分支变得困难,因为这成为了如何构造目录的考虑因素。
现在,我已经使用过Java和public mavan repos,非常酷。我已经使用Python和pip再次有效地安装了公共仓库。最后,我再次使用VS 2015在C#中做了一些工作,而与Nuget的集成正是所缺少的。
现在,在公司环境中,公共存储库并不总是可以直接访问,因此您需要公司存储库。同样,非Microsoft生态系统在此方面遥遥领先。
基本上,Java是从不使用IDE项目维护的更加开放的源代码环境演变而来的,而.NET是从管理项目的Visual Studio演变而来的,这些不同的路径意味着回购协议随后会出现在Visual Studio中。
最后,这是我的观察,由于Java基础库提供的资源较少,因此Java社区倾向于更多地使用其他人的框架。.NET人们编写了更多自己的代码。Java社区拥有更大的模式和实践生态系统,而.NET再次编写了自己的代码或等待Microsoft。这种情况正在发生变化,但再次表明为什么.NET在回购需求中落后于Java。