.NET世界是否有Maven替代品或端口?


73

.NET世界是否有Maven替代品或端口?

我很想使用Java世界所拥有的良好的依赖管理系统,但是我发现没有什么可与.NET项目相提并论的。

Answers:


33

NMaven是为.NET提供Apache Maven的第一个/官方的工作。该项目未能消除对Apache官方项目的高要求,并于2008年11月从Apache孵化器中退出。曾有过多次努力使该项目分叉并幸存下来,但只有其中的一个(NPanday)设法做到了这一点。并于2010年8月重新加入了Apache Incubator。遗憾的是,NPanday项目也由于缺少积极的提交者而于2015年1月退休。


顺便说一句,感谢您用这些项目的当前状态进行更新!
肖恩·麦克米兰

人们单击第一个链接,从而将他们引导到一个失效的工具:(我可以在第一行中删除指向NMaven的链接吗?
Lars Corneliussen

@Lars:编辑走!我目前未在使用类似Maven的工具的项目中工作,所以我不确定首先要介绍什么,但是像“ X是.net最受欢迎的类似Maven的工具”这样的导入工具会太棒了
肖恩·麦克米伦

23

NuGet(以前称为NuPack)解决了Maven的某些功能。您可以在Phil HaackScott Hanselman,当然还有Scott Guthrie上阅读


1
恐怕NuGet只会自动在项目中安装库的过程,实际上会增加更多的复杂性和刺激性,而不是解决任何问题。
伊万·G。

2
对。NuGet仅解决依赖项解析;但它有它的优势:Nuget Gallery-这就是为什么我们要考虑将NPanday与Nuget集成(让NPanday解决Nuget Gallery的依赖项)
Lars Corneliussen

4
实际上,Microsoft已经获得了对NuGet的支持,因此这将成为用于.Net项目的确定的程序包控制系统。
吉列尔莫

13

Byldan是Maven的移植版本,但并不是该工具的100%类似产品。Shane Isbell从事此项目已有一段时间了,您可以在此处了解更多信息

即使引用NMaven的答案旁边有某种绿色复选框,但它是不正确的:没有任何称为Apache NMaven的名称,因为该项目从未使它脱离ASF孵化器。Trunk继续作为Codeplex上的NMaven生存。NMaven用Java编写,而Byldan用C#编写。在.NET平台上寻找诸如Maven之类的大多数人都不会想要使用Java编写的工具。IMO的Byldan是用C#编写的最合适的工具。


1
到目前为止,NPanday似乎是赢家。这就是为什么我开始使用它,并且最近也加入了该团队。
拉尔斯·

8

似乎所有的人都缺少NPanday,它是.NET中最成熟,最积极开发的Maven依赖管理,如果我敢打赌,那就是那个。我认为它的方式理想上是任何.NET解决方案都将与Byldan之类的Maven兼容,因此它可以使用相同的Maven存储库,例如Maven Central

我对Byldan的问题最初看起来比NPanday更有希望,因为它自2008年以来就没有得到积极的开发,NPanday的发行版从2008年9月8日起是Byldan的0.6.1版到0.6版。

更新:

似乎NuGet确实确实执行了.NET世界中的某些Maven类型函数。如果没有明确表示,Microsoft也会隐式认可NuGet。完全披露我没有使用NuGet的经验,但是根据2011年11月的MSDN杂志文章它看起来非常有前途。NuGet还具有完整的Visual Studio 2010集成,并支持Windows Phone,Silverlight和Windows Presentation Foundation。


我喜欢Maven for Java的原因之一是代码组织。我认为这在.net世界中效果不佳。
布莱斯·菲舍尔

NPanday的最大问题是它需要安装Maven(Java运行时开销?)并且集成得不够好。正如您所说,它并未得到积极开发。
伊万·G.

1
@aloneguid实际上,ChristT说NPanday是“积极发展的”。在构建过程中运行Java的“开销”也是可笑的。即使对完整版本增加一分钟也是可以容忍的,并且任何开销都不会那么大。
雪橇

ArtB,在虚拟化或非胖屁股的桌面环境中,这不是可笑的。这为我在本地进行的快速构建增加了巨大的暂停。另外,它看起来就像是丑陋的不稳定胶。
伊凡·G.





0

Naven似乎是对.NET构建过程采用声明式方法的最新举措。

对我来说,这是Java背景,它是.NET生态系统中最缺乏的部分之一。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.