Workflow der Nutzung von PaketenPackage consumption workflow

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.Between nuget.org and private package galleries that your organization might establish, you can find tens of thousands of highly useful packages to use in your apps and services. Unabhängig von der Quelle folgt die Nutzung eines Pakets demselben allgemeinen Workflow.But regardless of the source, consuming a package follows the same general workflow.

Workflow: zur Quelle eines Pakets navigieren, ein Paket suchen, ein Paket in einem Projekt installiert, die using-Anweisung und Aufrufe der Paket-API hinzufügen

* Nur Visual Studio und dotnet.exe. Der nuget install-Installationsbefehl ändert keine Projektdateien oder packages.config-Dateien. Die Einträge müssen manuell verwaltet werden.* Visual Studio and dotnet.exe only. The nuget install command does not modify project files or the packages.config file; entries must be managed manually.

Weitere Informationen finden Sie unter Suchen und Auswerten von NuGet-Paketen für Ihr Projekt und Verschiedene Möglichkeiten zum Installieren von NuGet-Paketen.For further details, see Finding and Choosing Packages and Different ways to install a NuGet package.

NuGet speichert die Identität und Versionsnummer jedes installierten Pakets entweder in der Projektdatei (unter Verwendung von PackageReference) oder in packages.config, abhängig vom Projekttyp und Ihrer NuGet-Version.NuGet remembers the identity and version number of each installed package, recording it in either the project file (using PackageReference) or packages.config, depending on project type and your version of NuGet. Mit NuGet 4.0+ wird PackageReference bevorzugt, obwohl dies in Visual Studio über die Paket-Manager-UI-Optionen konfigurierbar ist.With NuGet 4.0+, PackageReference is preferred, although this is configurable in Visual Studio through the Package Manager UI options. Sie können in der entsprechenden Datei jederzeit eine vollständige Liste der Abhängigkeiten für Ihr Projekt anzeigen lassen.In any case, you can look in the appropriate file at any time to see the full list of dependencies for your project.

Tipp

Sie müssen die Lizenz für jedes Paket überprüfen, das Sie in Ihrer Software verwenden möchten.It's prudent to always check the license for each package you intend to use in your software. Auf nuget.org finden Sie auf der rechten Seite der Beschreibungsseite jedes Pakets den Link License Info (Lizenzinformationen).On nuget.org, you find a License Info link on the right side of each package's description page. 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.If a package does not specify license terms, contact the package owner directly using the Contact owners link on the package page. Microsoft lizenziert kein geistiges Eigentum von Drittanbietern für Pakete und ist nicht verantwortlich für die durch Drittanbieter bereitgestellten Inhalte.Microsoft does not license any intellectual property to you from third party package providers and is not responsible for information provided by third parties.

Bei der Installation eines Pakets überprüft NuGet üblicherweise, ob das Paket bereits aus seinem Cache verfügbar ist.When installing packages, NuGet typically checks if the package is already available from its cache. Sie können diesen Cache manuell über die Befehlszeile löschen. Dieser Vorgang wird unter Managing the NuGet cache (Verwalten des NuGet-Caches) beschrieben.You can manually clear this cache from the command line, as described on Managing the global packages and cache folders.

NuGet stellt ebenfalls sicher, dass die vom Paket unterstützten Zielframeworks mit Ihrem Projekt kompatibel sind.NuGet also makes sure that the target frameworks supported by the package are compatible with your project. Wenn das Paket keine kompatiblen Assemblys enthält, zeigt NuGet eine Fehlermeldung an.If the package does not contain compatible assemblies, NuGet displays an error. Weitere Informationen dazu finden Sie unter Resolving incompatible package errors (Beheben von Fehlern mit inkompatiblen Paketen).See Resolving incompatible package errors.

Wenn Sie Projektcode zu einem Quellrepository hinzufügen, schließen Sie üblicherweise keine NuGet-Pakete ein.When adding project code to a source repository, you typically don't include NuGet packages. 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:Those who later clone the repository or otherwise acquire the project, including build agents on systems like Visual Studio Team Services, must restore the necessary packages prior to running a build:

Workflow: NuGet-Pakete wiederherstellen, indem ein Repository geklont wird oder durch Verwenden des restore-Befehls

Die Paketwiederherstellung verwendet die in der Projektdatei oder packages.config enthaltenen Informationen, um alle Abhängigkeiten erneut zu installieren.Package Restore uses the information in the project file or packages.config to reinstall all dependencies. Beachten Sie, dass es wie in Abhängigkeitsauflösungen beschrieben Unterschiede zwischen den beteiligten Prozessen gibt.Note that there are differences in the process involved, as described in Dependency Resolution. 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.Also, the diagram above does not show a restore command for the Package Manager Console because if you're with the Console you're already in the context of Visual Studio, which typically restores packages automatically and provides the solution-level command as shown.

Gelegentlich ist es erforderlich, Pakete erneut zu installieren, die bereits in einem Projekt enthalten sind. Dadurch können auch Abhängigkeiten erneut installiert werden.Occasionally it's necessary to reinstall packages that are already included in a project, which may also reinstall dependencies. Dazu können Sie einfach den Befehl nuget reinstall oder die NuGet-Paket-Manager-Konsole verwenden.This is easy to do using the nuget reinstall command or the NuGet Package Manager Console. Weitere Informationen finden Sie unter Reinstalling and Updating Packages (Erneutes Installieren und Aktualisieren von Paketen).For details, see Reinstalling and Updating Packages.

Das Verhalten von NuGet wird von den Nuget.Config-Dateien gesteuert.Finally, NuGet's behavior is driven by Nuget.Config files. 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).Multiple files can be used to centralize certain settings at different levels, as explained in Configuring NuGet Behavior.

Nutzen Sie NuGet-Pakete, um produktiv zu programmieren.Enjoy your productive coding with NuGet packages!