Workflow der Nutzung von Paketen
Zwischen nuget.org und privaten Katalogen für Pakete, die Ihre Organisation möglicherweise erstellt, können Sie eine Vielzahl von nützlichen Paketen finden, die Sie für Ihre Apps und Dienste verwenden können. Unabhängig von der Quelle folgt die Nutzung eines Pakets demselben allgemeinen Workflow.
* Nur Visual Studio und dotnet.exe
. Durch den Befehl nuget install
werden Projektdateien oder die Datei packages.config
nicht geändert. Die Einträge müssen manuell verwaltet werden.
Weitere Informationen finden Sie unter Suchen und Auswählen von Paketen und Was geschieht bei der Paketinstallation?.
NuGet speichert die Identität und Versionsnummer der einzelnen installierten Pakete entweder in der Projektdatei (unter Verwendung von PackageReference) oder in packages.config
, abhängig vom Projekttyp und Ihrer NuGet-Version. Mit NuGet 4.0 und höher wird PackageReference bevorzugt, obwohl dies in Visual Studio über den Paket-Manager konfigurierbar ist. Sie können in der entsprechenden Datei jederzeit eine vollständige Liste der Abhängigkeiten für Ihr Projekt anzeigen lassen.
Tipp
Sie müssen die Lizenz für jedes Paket überprüfen, das Sie in Ihrer Software verwenden möchten. Auf nuget.org finden Sie auf der rechten Seite der Beschreibungsseite jedes Pakets den Link License Info (Lizenzinformationen). Wenn ein Paket keine Lizenzbedingungen angibt, kontaktieren Sie den Paketbesitzer direkt, indem Sie den Link Contact owners (Besitzer kontaktieren) auf der Seite für Pakete verwenden. Microsoft lizenziert kein geistiges Eigentum von Drittanbietern für Pakete und ist nicht verantwortlich für die durch Drittanbieter bereitgestellten Inhalte.
Bei der Installation eines Pakets überprüft NuGet üblicherweise, ob das Paket bereits aus seinem Cache verfügbar ist. Sie können diesen Cache manuell über die Befehlszeile löschen. Dieser Vorgang wird unter Managing the NuGet cache (Verwalten des NuGet-Caches) beschrieben.
NuGet stellt ebenfalls sicher, dass die vom Paket unterstützten Zielframeworks mit Ihrem Projekt kompatibel sind. Wenn das Paket keine kompatiblen Assemblys enthält, zeigt NuGet eine Fehlermeldung an. Weitere Informationen dazu finden Sie unter Resolving incompatible package errors (Beheben von Fehlern mit inkompatiblen Paketen).
Wenn Sie Projektcode zu einem Quellrepository hinzufügen, schließen Sie üblicherweise keine NuGet-Pakete ein. Personen, die später ein Repository klonen oder auf andere Weise das Projekt erhalten, das Build-Agents auf Systemen wie Visual Studio Team Services enthält, müssen die erforderlichen Pakete wiederherstellen, bevor ein Build ausgeführt wird:
Die Paketwiederherstellung verwendet die in der Projektdatei oder packages.config
enthaltenen Informationen, um alle Abhängigkeiten erneut zu installieren. Beachten Sie, dass es wie in Abhängigkeitsauflösungen beschrieben Unterschiede zwischen den beteiligten Prozessen gibt. Im obigen Diagramm ist kein Wiederherstellungsbefehl für die Paket-Manager-Konsole enthalten, da Sie sich mit der Konsole bereits im Kontext von Visual Studio befinden. Dort werden Pakete normalerweise automatisch wiederherstellt, und der Befehl ist wie im Folgenden veranschaulicht auf Projektmappenebene verfügbar.
Gelegentlich ist es erforderlich, Pakete erneut zu installieren, die bereits in einem Projekt enthalten sind. Dadurch können auch Abhängigkeiten erneut installiert werden. Dazu können Sie einfach den Befehl nuget reinstall
oder die NuGet-Paket-Manager-Konsole verwenden. Weitere Informationen finden Sie unter Reinstalling and Updating Packages (Erneutes Installieren und Aktualisieren von Paketen).
Das Verhalten von NuGet wird von den NuGet.Config
-Dateien gesteuert. Mehrere Dateien können zum Zentralisieren von bestimmten Eigenschaften auf verschiedenen Ebenen verwendet werden. Weitere Informationen dazu finden Sie unter Configuring NuGet Behavior (Konfigurieren des NuGet-Verhaltens).
Möglichkeiten zum Installieren eines NuGet-Pakets
NuGet-Pakete werden über eine beliebige der Methoden heruntergeladen und installiert, die in der folgenden Tabelle beschrieben werden.
Tool | Plattformen | Beschreibung |
---|---|---|
dotnet-CLI | Alle | CLI-Tool für .NET Core- und .NET Standard-Bibliotheken und für Projekte im SDK-Stil für .NET Framework (Informationen finden Sie unter SDK-Attribut). Ruft das über <package_name> angegebene Paket ab und fügt einen Verweis in die Projektdatei ein. Ruft auch Abhängigkeiten ab und installiert sie. |
Visual Studio | Windows und Mac | Bietet eine Benutzeroberfläche, über die Sie die Liste der Pakete durchsuchen, Pakete auswählen und diese Pakete und ihre Abhängigkeiten in ein Projekt aus einer angegebenen Paketquelle installieren können. Fügt der Projektdatei Verweise auf installierte Pakete zu. |
Paket-Manager-Konsole (Visual Studio) | Nur Windows | Ruft das durch <package_name> angegebene Paket aus einer ausgewählten Quelle ab, installiert es in ein angegebenes Projekt in der Projektmappe und fügt dann der Projektdatei einen Verweis hinzu. Ruft auch Abhängigkeiten ab und installiert sie. |
nuget.exe-CLI | Alle | CLI-Tool für .NET Framework-Bibliotheken und Nicht-SDK-Projekte, die auf .NET Standard-Bibliotheken abzielen. Ruft das über <package_name> angegebene Paket ab und entpackt seine Inhalte in einem Ordner im aktuellen Verzeichnis. Kann auch alle Pakete abrufen, die in einer packages.config -Datei aufgelistet sind. Ruft außerdem Abhängigkeiten ab und installiert sie, nimmt aber keine Änderungen an Projektdateien oder packages.config vor. |