en / de
Expertisen
Methoden
Dienstleistungen
Referenzen
Jobs & Karriere
Firma
Technologie-Trends TechCast WebCast TechBlog News Events Academy

NuGet Paket erstellen in 5 Minuten

Dieser Blog zeigt wie einfach es ist ein NuGet Paket zu erstellen. Es wird erklärt wie man in 5 Minuten selber ein NuGet Paket erstellt und veröffentlicht. Die verschiedene Wege ein NuGet Paket zu hosten wird am Schluss erklärt.

Was ist NuGet?

Wie funktioniert es?

Die NuGet Extension fügt in jedes Projekt welches ein NuGet Paket verwendet eine packages.config Datei hinzu. Dazu werden automatisch die Referenzen in der Projektdatei gesetzt.

NuGet Paket erstellen in 5 Minuten: packages.config Datei

Beim Kompilieren werden die NuGet Paketen heruntergeladen und extrahiert im packages-Verzeichnis (im root der Solution).

Das packages-Verzeichnis auf der gleichen Höhe wie die Solution-Datei:

NuGet Paket erstellen in 5 Minuten: packages Verzeichnis

Was ist ein NuGet-Paket genau?

Ein NuGet Package ist eine ZIP-Datei und enthält alle Inhalt um eine externe Bibliothek zu referenzieren:

Die .nuspec Package Manifest Datei enthält die Beschreibung des Paketes und muss definiert werden wenn man selber ein NuGet Paket erstellt.

NuGet Paket erstellen in 5 Minuten: .nuspec Package Manifest Datei Beispiel

Wie erstellt man ein NuGet-Paket?

Zum Erstellen eines NuGet Paket gibt es 2 Wege:

  1. Manifest Datei (.nuspec) mit Daten aus .csproj Datei generieren lassen
  2. Manifest Datei (.nuspec) manuell definieren

Für das braucht es das Command Line Tool nuget.exe (pre-requisite).

Download nuget.exe von https://dist.nuget.org/index.html

Manifest Datei (.nuspec) mit Daten aus .csproj Datei generieren lassen

  1. Kopiere nuget.exe ins Verzeichnis der Projektdatei (.csproj).
  2. Öffne einen Command Prompt und navigiere zum Verzeichnis.
  3. Eingeben: ‚nuget spec
  4. Jetzt gibt es neu eine Vorlagedatei mit der Extension .nuspec
  5. Vorlage anpassen
  6. Eingeben: ‚nuget pack [name].csproj‘ um das Paket mit Daten aus der  AssemblyInfo.cs zu erstellen

Die initiale .nuspec-Vorlage:

NuGet Paket erstellen in 5 Minuten: initial .nuspec-Vorlage

Die bearbeitete .nuspec-Datei nach Packaging ablauf:

NuGet Paket erstellen in 5 Minuten: .nuspec-Datei Resultat

Manifest Datei (.nuspec) manuell definieren

  1. Kopiere nuget.exe im Solution Verzeichnis.
  2. Öffne einen Command Prompt und navigiere zum Verzeichnis.
  3. Eingeben: ‚nuget spec
  4. Jetzt gibt es neu eine Vorlagedatei mit der Extension .nuspec
  5. Vorlage anpassen: DLL(s) und Referenzen manuell definieren.
  6. Eingeben: ‚nuget pack [name].nuspec‘ um das Paket zu generieren.

Die .nuspec-Datei manuell definiert:

NuGet Paket erstellen in 5 Minuten: .nuspec-Datei manuell definieren 1. Kopiere nuget.exe im Solution Verzeichnis. 2. Öffne einen Command Prompt und navigiere zum Verzeichnis. 3. Eingeben: ‚nuget spec‘ 4. Jetzt gibt es neu eine Vorlagedatei mit der Extension .nuspec 5. Vorlage anpassen: DLL(s) und Referenzen manuell definieren. 6. Eingeben: ‚nuget pack [name].nuspec‘ um das Paket zu generieren. Die .nuspec-Datei manuell definiert:

.nuspec Manifest-Datei anpassen:

Wie Hostet man NuGet Pakete?

Zum hosten von den NuGet Päckli gibt es die folgende Möglichkeiten:

  1. Lokales Repository (auf Netzlaufwerk oder sogar lokal)
  2. NuGet Server
  3. NuGet Gallery
  4. Visual Team Services (Package Management Extension)
  5. Third-party Hosten

Hosting: NuGet Server

Das NuGet.Server Paket erstellt eine ASP.NET Applikation welche die NuGet Paketen über HTTP(S) zur Verfügung stellt.

Hosting: NuGet Gallery

Stellt die NuGet Pakete zur Verfügung auf einem Internet Server mit dem NuGet Gallery Projekt (GitHub) und ermöglicht z.B. Benutzerverwaltung. Über ein ausführliches Web UI kann der Benutzer die Pakete (unter-)suchen wie man sich das von nuget.org gewöhnt ist.

Hosting: lokales Repository

  1. Verzeichnis machen auf z.B. Netzwerk
  2. Pakete mit eventuelle PNG Dateien hineinkopieren
  3. NuGet.config von Visual Studio mit Repository erweitern (in Visual Studio)
  4. Repository Anwählen
  5. Der Rest ist wie bei allen anderen Repositories

NuGet Repository im Visual Studio definieren:

  1. Extras -> NuGet-Paket-Manager -> Settings neben Paketquelle
  2. Repository hinzufügen
  3. Neue Paketquelle anwählen

NuGet Paket erstellen in 5 Minuten: NuGet Repository definieren im Visual Studio

NuGet Paket erstellen in 5 Minuten: NuGet Repository definieren im Visual Studio

NuGet Paket erstellen in 5 Minuten: NuGet Repository definieren im Visual Studio

Sonstiges

Die heutige Version von NuGet hat nicht die Möglichkeit eine Ikondatei im NuGet-Paket zu embedden.

  1. PNG-Datei erstellen von 64×64
  2. Ins Repository kopieren
  3. Absoluter Pfad setzen in der [name].nuspec Datei
Kommentare

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Newsletter - aktuelle Angebote, exklusive Tipps und spannende Neuigkeiten

 Jetzt anmelden
NACH OBEN
Zur Webcast Übersicht