有没有针对.NET世界的Maven替代方案或移植版本?

73

有没有针对.NET世界的Maven替代品或移植版?

我很想使用像Java世界那样好的依赖项管理系统,但我在.NET项目中找不到任何可比较的东西...

10个回答

33

NMaven 是为 .NET 提供 Apache Maven 的第一个/官方努力;该项目未能达到官方 Apache 项目的高标准要求,因此于 2008 年 11 月从 Apache 孵化器中退出。有几个人试图分叉并继续开发这个项目,但只有其中一个 (NPanday) 成功了,并在 2010 年 8 月重新加入 Apache 孵化器。不幸的是,NPanday 项目也于 2015 年 1 月被关闭,因为缺乏活跃的提交者。


顺便说一句,感谢您更新这些项目的当前状态! - Sean McMillan
人们点击第一个链接,却发现它指向了一个无用的工具 :( 我可以将第一行中指向 NMaven 的链接移除吗? - Lars Corneliussen
@Lars:请随意编辑!我目前没有在使用类似Maven的工具的项目,所以我不确定应该先放什么,但是像“X是.NET中最受欢迎的类似Maven的工具”这样的引言会很棒。 - Sean McMillan

23

1
很抱歉,NuGet 只是自动化了在项目中安装库的过程,实际上增加了更多的复杂性和烦恼,而没有解决任何问题。 - Ivan G.
2
没错。NuGet只处理依赖关系的解析;但它有它的优势:Nuget Gallery - 这就是为什么我们考虑将NPanday与Nuget集成(让NPanday从Nuget Gallery中解析依赖项)的原因。 - Lars Corneliussen
4
实际上,微软正在为NuGet提供支持,因此这将成为用于 .Net 项目的最终包控制系统。 - Guillermo

13

Byldan 是 Maven 的一个移植版本,但它并不是这个工具的百分之百相似。Shane Isbell 已经在这个项目上工作了一段时间,你可以在这里阅读更多信息

虽然那篇提到 NMaven 的答案旁边有某种绿色复选框,但它是错误的:并没有叫做 Apache NMaven 的东西,因为该项目从 ASF 孵化器中没有成功孵化出来。该项目继续作为 Codeplex 上的 NMaven 存在。NMaven 使用 Java 编写,而 Byldan 使用 C# 编写。大多数寻找类似于 Maven 的 .NET 平台工具的人不想使用用 Java 编写的工具。我的看法是,Byldan 是最适合的工具,因为它使用 C# 编写。


1
截至今天,NPanday似乎是最好的选择。这就是为什么我开始使用它并最近加入了团队的原因。 - Lars Corneliussen

8
似乎所有的选项中都存在缺陷,但是 NPanday 是最成熟、最活跃开发的 .NET Maven 依赖管理器。如果我必须选择一个,那就是它。我的理解是,理想情况下,任何 .NET 解决方案都应该与 Maven 兼容,就像 Byldan 一样,因此可以使用相同的 Maven 存储库,如 Maven Central。
起初,我更喜欢 Byldan,但是问题在于它自 2008 年以来没有得到积极开发,而 NPanday 在 9 月 8 日发布了 1.2.1 版本,而 Byldan 的版本仅为 0.6(发布于 2008 年)。
更新:

看起来NuGet确实在.NET世界中执行了一些Maven类型的功能。此外,微软似乎是在默许NuGet,即使没有明确表示。全面披露,我没有使用NuGet的经验,但根据2011年11月MSDN杂志文章here,它看起来非常有前途。NuGet还具有完整的Visual Studio 2010集成,并支持Windows Phone、Silverlight和Windows Presentation Foundation。


我喜欢Maven用于Java的原因之一就是代码组织。我认为这在.NET世界中不起作用。 - Bryce Fischer
NPanday的一个大问题是它需要安装Maven(Java运行时开销?),并且集成得不够好。正如你所说,它也没有得到积极的开发。 - Ivan G.
1
@aloneguid实际上,ChristT说NPanday正在积极开发中。此外,在构建期间运行Java的“开销”是可笑的。即使将一分钟添加到完整的构建中也是可以容忍的,任何开销也不太可能那么大。 - Sled
ArtB,在虚拟化或非瘦身桌面环境下并不可笑。它会给我本地快速构建带来巨大的暂停。除此之外,它看起来就像一个丑陋不稳定的胶水。 - Ivan G.

3

1

还有一个名为Refix的项目。你有什么想法吗?


0

0

Naven 似乎是最近一项针对 .NET 构建过程的声明式方法的倡议。

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


0

2
NMaven已经停止维护,请使用NPanday代替。http://startbigthinksmall.wordpress.com/2011/05/26/apache-npanday-1-4-0-incubating-released-net-for-maven/ - Lars Corneliussen

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接