Is there a Maven alternative or port for the .NET world?
Java.NetMaven 2Build ProcessBuildJava Problem Overview
Is there a Maven alternative or port for the .NET world?
I would love to use a good dependency management system that the Java world has, but I don't find anything comparable for .NET projects...
Java Solutions
Solution 1 - Java
NMaven has been the first/official effort to provide Apache Maven for .NET; the project failed to clear the high bar of requirements for an official Apache project and was retired from the Apache Incubator in November 2008. There have been several efforts to fork and survive the project, but only one of them (NPanday) managed to do so and has been able to rejoin the Apache Incubator in August 2010. Sadly also the NPanday project was retired in January 2015 because it is lacking active committers.
-
Active projects (as of July 2015)
-
none
-
Inactive projects (as of July 2015)
-
NPanday: a project to integrate Apache Maven into .NET development environments.
Solution 2 - Java
NuGet (formerly called NuPack) addresses some of the features of Maven. You can read about it at Phil Haack, Scott Hanselman and, of course, Scott Guthrie.
Solution 3 - Java
http://www.codeplex.com/byldan/">Byldan</a> is a port of Maven, but it isn't a 100% analog to the tool. Shane Isbell has been working on this project for a while, you can http://www.sonatype.com/people/tag/byldan/">read more about it here.
Even though the answer that references NMaven has some sort of green checkbox next to it, it is incorrect: there is nothing called Apache NMaven as the project never made it out of the ASF incubator. The trunk continues to live on as NMaven at Codeplex. NMaven is written in Java and Byldan is written in C#. Most people looking for something like Maven for the .NET platform are not going to want to deal with a tool writen in Java. Byldan, IMO, is the most appropriate tool as it is written in C#.
Solution 4 - Java
It seems that while all appear to be lacking NPanday is the most mature and actively developed Maven dependency management for .NET and if I had to bet on one it would be that one. The way I see it ideally any .NET solution would be mostly compatible with Maven like Byldan so it could use the same maven repositories such as Maven central.
My problem with Byldan which initially looked more promising than NPanday is that it hasn't been actively developed since 2008, NPanday has a release as of Sep 8th, version 1.2.1 to Byldan's version 0.6 from 2008.
Update:
It seems that NuGet does indeed perform some of the Maven type functions in the .NET world. It also appears that Microsoft is implicitly endorsing NuGet if not explicitly doing so. In full disclosure I don't have experience using NuGet but based on the November 2011 MSDN Magazine article here it looks very promising. NuGet also has full Visual Studio 2010 integration and supports Windows Phone, Silverlight and Windows Presentation Foundation.
Solution 5 - Java
David Ebbo has done some additional work with NuGet. See his blogpost Using NuGet without committing packages for further details.
Solution 6 - Java
There's also a project called Refix. Thoughts?
Solution 7 - Java
Apache NMaven is a suite of plugins and integration allowing .NET code to be a player in Maven build scripts.
Solution 8 - Java
Solution 9 - Java
Naven seems to be a recent initiative for a declarative approach to the .NET build process.
Coming from a Java background, this is for me one of the most lacking part of the .NET ecosystem.
Solution 10 - Java
Gradle may be a possible alternative. It currently does not support C# natively - only Java and C++. However there are plugins for .Net - well at least one which seems still somehow active. Well latter is technically a wrapper and you still need to install the dot-net tooling.