Installieren und Verwalten von Paketen mit der Paket-Manager-Konsole in Visual Studio (PowerShell)Install and manage packages with the Package Manager Console in Visual Studio (PowerShell)

Mit der NuGet-Paket-Manager-Konsole können Sie die NuGet PowerShell-Befehle verwenden, um NuGet-Pakete zu suchen, zu installieren, zu deinstallieren und zu aktualisieren.The NuGet Package Manager Console lets you use NuGet PowerShell commands to find, install, uninstall, and update NuGet packages. Die Verwendung der Konsole ist dann erforderlich, wenn es mit der Benutzeroberfläche des Paket-Managers nicht möglich ist, einen Vorgang durchzuführen.Using the console is necessary in cases where the Package Manager UI does not provide a way to perform an operation. Informationen zur Verwendung von nuget.exe-CLI-Befehlen in der Konsole finden Sie unter Verwenden der nuget.exe-CLI in der Konsole.To use nuget.exe CLI commands in the console, see Using the nuget.exe CLI in the console.

Die Konsole ist in Visual Studio unter Windows integriert.The console is built into Visual Studio on Windows. Sie ist nicht in Visual Studio für Mac oder Visual Studio Code integriert.It is not included with Visual Studio for Mac or Visual Studio Code.

Suchen und Installieren eines PaketsFind and install a package

Beispielsweise erfolgt das Suchen und Installieren eines Pakets in drei einfachen Schritten:For example, finding and installing a package is done with three easy steps:

  1. Öffnen Sie das Projekt/die Projektmappe in Visual Studio und anschließend die Konsole mit dem Befehl Tools > NuGet-Paket-Manager > Paket-Manager-Konsole.Open the project/solution in Visual Studio, and open the console using the Tools > NuGet Package Manager > Package Manager Console command.

  2. Suchen Sie das Paket, dass Sie installieren möchten.Find the package you want to install. Wenn Sie dies bereits kennen, fahren Sie mit Schritt 3 fort.If you already know this, skip to step 3.

    # Find packages containing the keyword "elmah"
    Find-Package elmah
    
  3. Führen Sie den Installationsbefehl aus:Run the install command:

    # Install the Elmah package to the project named MyProject.
    Install-Package Elmah -ProjectName MyProject
    

Wichtig

Alle Vorgänge, die in der Konsole verfügbar sind, können auch mit der NuGet-CLI durchgeführt werden.All operations that are available in the console can also be done with the NuGet CLI. Konsolenbefehle arbeiten jedoch im Kontext von Visual Studio und einem gespeichertem Projekt/einer Projektmappe und erreichen oft mehr als ihre entsprechenden CLI-Befehle.However, console commands operate within the context of Visual Studio and a saved project/solution and often accomplish more than their equivalent CLI commands. Wenn Sie beispielsweise ein Paket über die Konsole installieren, wird ein Verweis auf das Projekt hinzugefügt. Mit einem CLI-Befehl ist dies nicht der Fall.For example, installing a package through the console adds a reference to the project whereas the CLI command does not. Aus diesem Grund ziehen Entwickler, die in Visual Studio arbeiten, es in der Regel vor, die Konsole anstelle der CLI zu verwenden.For this reason, developers working in Visual Studio typically prefer using the console to the CLI.

Tipp

Viele Konsolenvorgänge hängen davon ab, dass eine Projektmappe in Visual Studio mit einem bekannten Pfadnamen geöffnet wurde.Many console operations depend on having a solution opened in Visual Studio with a known path name. Wenn Sie eine nicht gespeicherte Projektmappe oder keine Projektmappe haben, wird folgender Fehler angezeigt: „Projektmappe wurde nicht geöffnet oder nicht gespeichert.If you have an unsaved solution, or no solution, you can see the error, "Solution is not opened or not saved. Stellen Sie sicher, dass Sie eine geöffnete und gespeicherte Projektmappe haben.“Please ensure you have an open and saved solution." Dadurch wird angegeben, dass die Konsole den Projektmappenordner nicht ermitteln kann.This indicates that the console cannot determine the solution folder. Durch das Speichern einer nicht gespeicherten Projektmappe oder das Erstellen und Speichern einer Projektmappe (wenn Sie keine offene Projektmappe haben), sollte der Fehler behoben werden.Saving an unsaved solution, or creating and saving a solution if you don't have one open, should correct the error.

Öffnen der Konsolen-und der KonsolensteuerelementeOpening the console and console controls

  1. Öffnen Sie die Konsole in Visual Studio mit dem Befehl Tools > NuGet-Paket-Manager > Paket-Manager-Konsole.Open the console in Visual Studio using the Tools > NuGet Package Manager > Package Manager Console command. Die Konsole ist ein Visual Studio-Fenster, das beliebig angeordnet und positioniert werden kann (siehe Anpassen von Fensterlayouts in Visual Studio).The console is a Visual Studio window that can be arranged and positioned however you like (see Customize window layouts in Visual Studio).

  2. Standardmäßig werden Konsolenbefehle gegen eine bestimmte Paketquelle und ein bestimmtes Projekt ausgeführt, wie es in dem Steuerelement am oberen Rand des Fensters festgelegt ist:By default, console commands operate against a specific package source and project as set in the control at the top of the window:

    Steuerelemente der Paket-Manager-Konsole für Paketquelle und Projekt

  3. Die Auswahl einer anderen Paketquelle und/oder eines anderen Projekts ändert diese Standardwerte für nachfolgende Befehle.Selecting a different package source and/or project changes those defaults for subsequent commands. Um diese Einstellungen zu überschreiben, ohne die Standardeinstellungen zu ändern, unterstützen die meisten Befehle die Optionen -Source und -ProjectName.To overrride these settings without changing the defaults, most commands support -Source and -ProjectName options.

  4. Wählen Sie zum Verwalten von Paketquellen das Zahnradsymbol aus.To manage package sources, select the gear icon. Dies ist eine Verknüpfung zum Dialogfeld Tools > Optionen > NuGet-Paket-Manager > Paketquellen, wie auf der Seite Benutzeroberfläche von Paket-Manager beschrieben.This is a shortcut to the Tools > Options > NuGet Package Manager > Package Sources dialog box as described on the Package Manager UI page. Außerdem löscht das Steuerelement rechts neben der Projektauswahl den Inhalt der Konsole:Also, the control to the right of the project selector clears the console's contents:

    Einstellungen und Steuerelemente zum Löschen in der Paket-Manager-Konsole

  5. Die Schaltfläche ganz rechts unterbricht einen Befehl mit langer Ausführungszeit.The rightmost button interrupts a long-running command. Beispielsweise listet die Ausführung von Get-Package -ListAvailable -PageSize 500 die 500 besten Pakete in der Standardquelle (z.B. nuget.org) auf, deren Ausführung mehrere Minuten dauern kann.For example, running Get-Package -ListAvailable -PageSize 500 lists the top 500 packages on the default source (such as nuget.org), which could take several minutes to run.

    Steuerelement zum Anhalten von Befehlen in der Paket-Manager-Konsole

Installieren eines PaketsInstall a package

# Add the Elmah package to the default project as specified in the console's project selector
Install-Package Elmah

# Add the Elmah package to a project named UtilitiesLib that is not the default
Install-Package Elmah -ProjectName UtilitiesLib

Siehe Install-Package.See Install-Package.

Die Installation eines Pakets in der Konsole führt die gleichen Schritte aus wie unter Nach der Paketinstallation, mit den folgenden Ergänzungen:Installing a package in the console performs the same steps as described on What happens when a package is installed, with the following additions:

  • Die Konsole zeigt in ihrem Fenster die geltenden Lizenzbedingungen mit stillschweigender Zustimmung an.The Console displays applicable license terms in its window with implied agreement. Wenn Sie mit den Bedingungen nicht einverstanden sind, müssen Sie das Paket sofort deinstallieren.If you do not agree to the terms, you should uninstall the package immediately.
  • Außerdem wird ein Verweis auf das Paket zur Projektdatei hinzugefügt und im Projektmappen-Explorer unter dem Knoten Verweise angezeigt. Sie müssen das Projekt speichern, um die Änderungen in der Projektdatei direkt anzuzeigen.Also a reference to the package is added to the project file and appears in Solution Explorer under the References node, you need to save the project to see the changes in the project file directly.

Deinstallieren eines PaketsUninstall a package

# Uninstalls the Elmah package from the default project
Uninstall-Package Elmah

# Uninstalls the Elmah package and all its unused dependencies
Uninstall-Package Elmah -RemoveDependencies 

# Uninstalls the Elmah package even if another package depends on it
Uninstall-Package Elmah -Force

Siehe Uninstall-Package.See Uninstall-Package. Verwenden Sie Get-Package, um alle Pakete anzuzeigen, die derzeit im Standardprojekt installiert sind, wenn Sie einen Bezeichner finden müssen.Use Get-Package to see all packages currently installed in the default project if you need to find an identifier.

Beim Deinstallieren eines Pakets werden die folgenden Aktionen durchführt:Uninstalling a package performs the following actions:

  • Entfernt Verweise auf das Paket aus dem Projekt (und das verwendete Verwaltungsformat).Removes references to the package from the project (and whatever management format is in use). Verweise werden nicht mehr im Projektmappen-Explorer angezeigt.References no longer appear in Solution Explorer. (Möglicherweise müssen Sie das Projekt neu erstellen, damit es aus dem Ordner Bin entfernt wird.)(You might need to rebuild the project to see it removed from the Bin folder.)
  • Macht alle Änderungen rückgängig, die an app.config oder web.config vorgenommen wurden, als das Paket installiert wurde.Reverses any changes made to app.config or web.config when the package was installed.
  • Entfernt zuvor installierte Abhängigkeiten, wenn diese Abhängigkeiten von keinem verbleibenden Paket verwendet werden.Removes previously-installed dependencies if no remaining packages use those dependencies.

Aktualisieren eines PaketsUpdate a package

# Checks if there are newer versions available for any installed packages
Get-Package -updates

# Updates a specific package using its identifier, in this case jQuery
Update-Package jQuery

# Update all packages in the project named MyProject (as it appears in Solution Explorer)
Update-Package -ProjectName MyProject

# Update all packages in the solution
Update-Package

Siehe Get-Package und Update-Package.See Get-Package and Update-Package

Suchen eines PaketsFind a package

# Find packages containing keywords
Find-Package elmah
Find-Package logging

# List packages whose ID begins with Elmah
Find-Package Elmah -StartWith

# By default, Get-Package returns a list of 20 packages; use -First to show more
Find-Package logging -First 100

# List all versions of the package with the ID of "jquery"
Find-Package jquery -AllVersions -ExactMatch

Siehe Find-Package.See Find-Package. Verwenden Sie in Visual Studio 2013 und früheren Versionen stattdessen Get-Package.In Visual Studio 2013 and earlier, use Get-Package instead.

Verfügbarkeit der KonsoleAvailability of the console

Ab Visual Studio 2017 werden NuGet und der NuGet-Paket-Manager automatisch installiert, wenn Sie .NET-bezogene Workloads auswählen. Sie können sie auch einzeln installieren, indem Sie die Option Einzelne Komponenten > Codetools > NuGet-Paket-Manager im Visual Studio-Installationsprogramm aktivieren.Starting in Visual Studio 2017, NuGet and the NuGet Package Manager are automatically installed when you select any .NET-related workloads; you can also install it individually by checking the Individual components > Code tools > NuGet package manager option in the Visual Studio installer.

Wenn der NuGet-Paket-Manager in Visual Studio 2015 und früher fehlt, aktivieren Sie Tools > Erweiterungen und Updates... , und suchen Sie nach der Erweiterung für den NuGet-Paket-Manager.Also, if you're missing the NuGet Package Manager in Visual Studio 2015 and earlier, check Tools > Extensions and Updates... and search for the NuGet Package Manager extension. Wenn Sie das Installationsprogramm für Erweiterungen in Visual Studio nicht verwenden können, können Sie die Erweiterung direkt von https://dist.nuget.org/index.html herunterladen.If you're unable to use the extensions installer in Visual Studio, you can download the extension directly from https://dist.nuget.org/index.html.

Die Paket-Manager-Konsole ist derzeit nicht in Visual Studio für Mac verfügbar.The Package Manager Console is not presently available with Visual Studio for Mac. Die entsprechenden Befehle sind jedoch über die NuGet-CLI verfügbar.The equivalent commands, however, are available through the NuGet CLI. Visual Studio für Mac verfügt über eine Benutzeroberfläche zum Verwalten von NuGet-Paketen.Visual Studio for Mac does have a UI for managing NuGet packages. Siehe Einschließen eines NuGet-Pakets in Ihr Projekt.See Including a NuGet package in your project.

Die Paket-Manager-Konsole ist nicht in Visual Studio Code enthalten.The Package Manager Console is not included with Visual Studio Code.

Erweitern der Paket-Manager-KonsoleExtend the Package Manager Console

Einige Pakete installieren neue Befehle für die Konsole.Some packages install new commands for the console. Beispielsweise erstellt MvcScaffolding Befehle wie Scaffold, wie unten gezeigt, die ASP.NET MVC-Controller und -Ansichten generieren:For example, MvcScaffolding creates commands like Scaffold shown below, which generates ASP.NET MVC controllers and views:

Installieren und Verwenden von MvcScaffold

Einrichten eines NuGet-PowerShell-ProfilsSet up a NuGet PowerShell profile

Mit einem PowerShell-Profil können Sie häufig verwendete Befehle überall dort verfügbar machen, wo Sie PowerShell verwenden.A PowerShell profile lets you make commonly-used commands available wherever you use PowerShell. NuGet unterstützt ein NuGet-spezifisches Profil, das in der Regel an folgendem Speicherort zu finden ist:NuGet supports a NuGet-specific profile typically found at the following location:

%UserProfile%\Documents\WindowsPowerShell\NuGet_profile.ps1

Um das Profil zu suchen, geben Sie $profile in der Konsole ein:To find the profile, type $profile in the console:

$profile
C:\Users\<user>\Documents\WindowsPowerShell\NuGet_profile.ps1

Weitere Informationen finden Sie unter Windows PowerShell-Profile.For more details, refer to Windows PowerShell Profiles.

Verwenden der nuget.exe-CLI in der-KonsoleUse the nuget.exe CLI in the console

Um die nuget.exe-CLI in der Paket-Manager-Konsole verfügbar zu machen, installieren Sie das Paket NuGet.CommandLine über die Konsole:To make the nuget.exe CLI available in the Package Manager Console, install the NuGet.CommandLine package from the console:

# Other versions are available, see https://www.nuget.org/packages/NuGet.CommandLine/
Install-Package NuGet.CommandLine -Version 4.4.1