Nupack ist eine einfache Möglichkeit, ein Nuget -Paket für .NET 4.0+ zu produzieren, das auf AssemblyInfo oder Nuspec basiert, wenn Sie mit Visual Studio erstellen. Es wird als Nuget -Paket geliefert.
Wenn Nupack nach einem Projekt Referenz ist, wird keine Abhängigkeit erstellt. Es gibt nur einen neuen Build -Schritt, um die Projektausgabe automatisch in ein Nuget -Paket mit Projektnamen als ID zu packen.
Wenn eine .nuspec -Datei als Teil des Projekts erkannt wird, respektieren Nupack die Spezifikation und wenden Sie keine automatische Konfiguration an, um das erwartete Nuget -Paket zu erstellen.
Erstellen Sie eine einfache Bibliothek (LIB -Ordner) mit Nuget -Paketabhängigkeiten. Dieses Muster gilt automatisch, wenn keine .Nuspec -Datei für die Projektbibliothek erkannt wird.
Wenn das Paket auf der Konsolenanwendung basiert und .nuspec nicht deklariert wird, wird ein Build -Verzeichnis mit einer .target -Datei definiert, um eine einfache Möglichkeit zu bieten, einen Build -Aktionsschritt als Post -Build mit 5 Argumenten hinzuzufügen:
Abhängigkeiten können ein Nuget -Paket, Projektreferenzen usw. sein. Sie müssen rekursiv in das generierte Nuget -Paket mit einem adäquatischen Formular enthalten sein.
Der NUGET -Prozess verbreitet die XML -Dokumentation und die Abhängigkeitsressourcen bei der Ausgabe nicht und kann im Nupack -Verpackungsprozess nicht berücksichtigt werden. Lassen Sie Nupack sie automatisch ausbreiten, um eine saubere Struktur und Dokumentation in jedem Knoten zu führen.
Nupack kann eine Bibliothek zur Entwicklung eines Plugins als Nuget -Paket bereitstellen. Es erfasst Plugin aus package.config und lädt es aus dem Nupack -Ordner, um Nupack zusätzliches Verhalten hinzuzufügen. Das Plugin wird mit Argumenten aufgerufen, die an Nupack übergeben wurden, und erstellen Sie vor dem Speichernergebnis einen Paketbuilder aus Originalpaketbuilder. Plugin wird nach der Nuget -Erstellung entsorgt.
Nupack muss ein bestimmtes Paket zum Speichern von Plugin (Bibliothek) im Nupack -Ordner erstellen, wenn Project Reference Nupack.extesion.
Wenn Nupack durch eine Konsolenanwendung namens [Bibliothek] .optimizer und auf eine Bibliothek namens [Bibliothek] verwiesen wird, wird ein Optimierermuster durchgeführt. Das generierte Nuget -Paket enthält die [Bibliothek] .Dll in den Lib -Ordner und [Bibliothek] .optimizer.exe wird mit einer .target -Datei in den Build -Ordner eingebaut, um Optimierer auf Postbuild mit denselben Argumenten auszuführen als Standard -Build -Aktionen für Konsolenanwendungsmuster. Das Nuget -Paket nimmt den Namen [Bibliothek] als ID. Dies bedeutet, dass das Muster nicht erledigt wird, wenn [Bibliothek] ein Nuget -Produzent ist. Das Optimizer -Muster ist ein Einstiegspunkt, um IL beispielsweise umzuschreiben oder etwas basierend auf [Bibliothek] .Dll -Verwendung zu erstellen.
Visual Studio 2017 veränderte Nuget -Integrationsvorlage. Nupack muss aktualisiert werden, um Visual Studio 2017 zu unterstützen.
Eine frustrierende Sache mit Nuget ist, eine saubere und vollständige Metadaten zu haben. Leider bietet AssemblyInfo keine Möglichkeit, alle Nuget -Bedürfnisse aufzudecken. Andererseits ist es häufig notwendig, an mehreren Stellen dieselben Informationen zu deklarieren, die Synchronisationsprobleme verursachen und einen Wartungsaufwand hinzufügen. Die Verwendung von Github.com -API zur automatischen Fertigstellung der Nuget -Erstellung kann eine gute Sache sein, um reaktiv zu bleiben.