Gibt es eine Maven-Alternative oder einen Port für die .NET-Welt?


73

Gibt es eine Maven-Alternative oder einen Port für die .NET-Welt?

Ich würde gerne ein gutes Abhängigkeitsmanagementsystem verwenden, das die Java-Welt hat, aber ich finde nichts Vergleichbares für .NET-Projekte ...

Antworten:


33

NMaven war der erste / offizielle Versuch, Apache Maven für .NET bereitzustellen . Das Projekt konnte die hohen Anforderungen an ein offizielles Apache-Projekt nicht erfüllen und wurde im November 2008 aus dem Apache-Inkubator ausgeschieden. Es wurden mehrere Anstrengungen unternommen, um das Projekt zu verzweigen und zu überleben, aber nur einer von ihnen ( NPanday ) hat dies geschafft und konnte im August 2010 wieder dem Apache Incubator beitreten. Leider wurde auch das NPanday-Projekt im Januar 2015 eingestellt, da es keine aktiven Committer gibt.


Übrigens, danke, dass Sie dies mit dem aktuellen Status dieser Projekte aktualisiert haben!
Sean McMillan

Die Leute klicken auf den ersten Link, der sie zu einem toten Tool führt :( Darf ich den Link zu NMaven in der ersten Zeile entfernen?
Lars Corneliussen

@Lars: weg bearbeiten! Ich arbeite derzeit nicht an einem Projekt, das ein Maven-ähnliches Tool verwendet, daher bin ich mir nicht sicher, was ich zuerst setzen soll, aber ein Lead-In wie "X ist das beliebteste Maven-ähnliche Tool für .net" wäre genial.
Sean McMillan

23

NuGet (früher NuPack genannt) behandelt einige der Funktionen von Maven. Sie können darüber bei Phil Haack , Scott Hanselman und natürlich Scott Guthrie lesen .


1
Ich befürchte, NuGet automatisiert nur den Prozess der Installation einer Bibliothek in Ihrem Projekt und erhöht die Komplexität und Irritation, anstatt Probleme zu lösen.
Ivan G.

2
Richtig. NuGet adressiert nur die Abhängigkeitsauflösung. aber es hat seine Stärke: die Nuget-Galerie - Aus diesem Grund wollen wir NPanday in Nuget integrieren (lassen Sie NPanday Abhängigkeiten von der Nuget-Galerie auflösen)
Lars Corneliussen

4
Tatsächlich wird Microsoft von NuGet unterstützt, sodass dies das endgültige Paketsteuerungssystem ist, das für .NET-Projekte verwendet wird.
Guillermo

13

Byldan ist ein Hafen von Maven, aber nicht 100% analog zum Tool. Shane Isbell arbeitet seit einiger Zeit an diesem Projekt. Mehr dazu lesen Sie hier .

Obwohl die Antwort, die auf NMaven verweist, ein grünes Kontrollkästchen neben sich hat, ist sie falsch: Es gibt nichts namens Apache NMaven, da das Projekt es nie aus dem ASF-Inkubator geschafft hat. Der Kofferraum lebt weiterhin als NMaven bei Codeplex. NMaven ist in Java und Byldan in C # geschrieben. Die meisten Leute, die nach etwas wie Maven für die .NET-Plattform suchen, werden sich nicht mit einem in Java geschriebenen Tool befassen wollen. Byldan, IMO, ist das am besten geeignete Werkzeug, da es in C # geschrieben ist.


1
Ab heute scheint NPanday der Gewinner zu sein. Aus diesem Grund habe ich angefangen, es zu verwenden, und bin kürzlich auch dem Team beigetreten.
Lars Corneliussen

8

Es scheint, dass NPanday , obwohl allen zu fehlen scheint, das ausgereifteste und aktivste Maven-Abhängigkeitsmanagement für .NET ist, und wenn ich auf eines wetten müsste, wäre es dieses. So wie ich es im Idealfall sehe, wäre jede .NET-Lösung größtenteils mit Maven wie Byldan kompatibel, sodass dieselben Maven-Repositorys wie Maven Central verwendet werden könnten.

Mein Problem mit Byldan, das anfangs vielversprechender aussah als NPanday, ist, dass es seit 2008 nicht mehr aktiv entwickelt wurde. NPanday hat ab dem 8. September eine Version 1.2.1 für Byldans Version 0.6 von 2008 veröffentlicht.

Aktualisieren:

Es scheint, dass NuGet tatsächlich einige der Funktionen vom Typ Maven in der .NET-Welt ausführt. Es scheint auch, dass Microsoft NuGet implizit unterstützt, wenn dies nicht explizit geschieht. Bei vollständiger Offenlegung habe ich keine Erfahrung mit NuGet, aber basierend auf dem Artikel des MSDN-Magazins vom November 2011 hier sieht es sehr vielversprechend aus. NuGet verfügt außerdem über eine vollständige Visual Studio 2010-Integration und unterstützt Windows Phone, Silverlight und Windows Presentation Foundation.


Einer der Gründe, warum ich Maven für Java mag, ist die Code-Organisation. Ich denke nicht, dass dies in der .net-Welt gut funktioniert.
Bryce Fischer

Das große Problem bei NPanday ist, dass Maven installiert sein muss (Java-Laufzeit-Overhead?) Und nicht gut genug integriert werden kann. Und wie Sie sagten, ist es nicht aktiv entwickelt.
Ivan G.

1
@aloneguid Eigentlich sagte ChristT, dass der NPanday aktiv entwickelt wird. Auch der "Overhead" beim Ausführen von Java während eines Builds ist lächerlich. Selbst das Hinzufügen einer Minute zu einem vollständigen Build wäre tolerierbar, und der Overhead ist wahrscheinlich nicht so groß.
Schlitten

ArtB, es ist nicht lächerlich in virtualisierten oder nicht fetten Desktop-Umgebungen. Es fügt eine große Pause für schnelle Builds hinzu, die ich lokal mache. Abgesehen davon, dass es nur wie ein hässlicher instabiler Kleber aussieht.
Ivan G.





0

Naven scheint eine aktuelle Initiative für einen deklarativen Ansatz für den .NET-Erstellungsprozess zu sein.

Aus Java stammend, ist dies für mich einer der am meisten fehlenden Teile des .NET-Ökosystems.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.