Is there a Maven alternative or port for the .NET world?

Java.NetMaven 2Build ProcessBuild

Java 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.

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

Another one on CodePlex is Crude.

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.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionGeorg W&#228;chterView Question on Stackoverflow
Solution 1 - JavaSean McMillanView Answer on Stackoverflow
Solution 2 - JavaAndrei RîneaView Answer on Stackoverflow
Solution 3 - JavaTim O'BrienView Answer on Stackoverflow
Solution 4 - JavaChris T.View Answer on Stackoverflow
Solution 5 - Java8DHView Answer on Stackoverflow
Solution 6 - JavaIvan G.View Answer on Stackoverflow
Solution 7 - JavaMatthew McCulloughView Answer on Stackoverflow
Solution 8 - JavaIvan G.View Answer on Stackoverflow
Solution 9 - JavaMichelView Answer on Stackoverflow
Solution 10 - JavapapanitoView Answer on Stackoverflow