Dela via


Hantera paket med Visual Studio Package Manager-konsolen (PowerShell)

Package Manager-konsolen i Visual Studio använder PowerShell-kommandon för att interagera med NuGet-paket. Du kan använda konsolen när det inte finns något sätt att utföra en åtgärd via Package Manager-användargränssnittet. Du kan också använda dotnet CLI eller NuGet CLI-kommandon i konsolen.

I den här artikeln beskrivs hur du hittar, installerar, uppdaterar och avinstallerar NuGet-paket med PowerShell-kommandon i Package Manager-konsolen. Den fullständiga PowerShell-kommandoreferensen för Package Manager-konsolen finns i PowerShell-referens.

Viktigt!

PowerShell-kommandona och argumenten i den här artikeln är specifika för Visual Studio Package Manager-konsolen. Dessa kommandon skiljer sig från de PackageManagement-modulkommandon som du kan använda i en allmän PowerShell-miljö. Varje miljö har kommandon som inte är tillgängliga i den andra, och kommandon med samma namn kan skilja sig åt i deras specifika argument.

Konsoltillgänglighet

Från och med Visual Studio 2017 installeras NuGet och NuGet Package Manager automatiskt när du skapar . NET-relaterade arbetsbelastningar i Visual Studio. Du kan också installera Package Manager genom att välja Enskilda komponenter>Kodverktyg>NuGet-pakethanteraren i Visual Studio Installer.

Du kan också söka efter NuGet Package Manager-tillägget under menynVerktygstillägg> och Uppdateringar eller Tillägg. Om du inte kan använda installationsprogrammet för tillägg i Visual Studio kan du ladda ned tillägget direkt från https://dist.nuget.org/index.html.

Package Manager-konsolen är inbyggd i Package Manager för Visual Studio i Windows. Visual Studio Code och Visual Studio för Mac innehåller inte konsolen. Visual Studio för Mac har ett användargränssnitt för att hantera NuGet-paket och motsvarande konsolkommandon är tillgängliga via NuGet CLI. Mer information finns i Installera och hantera NuGet-paket i Visual Studio för Mac.

Hitta och installera ett paket snabbt

Så här använder du Package Manager-konsolen för att snabbt hitta och installera ett paket:

  1. Öppna projektet eller lösningen i Visual Studio och välj Verktyg>NuGet Package Manager Package Manager>Console för att öppna fönstret Package Manager Console.

  2. I -konsolen anger du Find-Package med ett nyckelord för att hitta det paket som du vill installera. Om du till exempel vill hitta paket som innehåller nyckelordet elmahkör du följande kommando. Om du redan känner till det paketnamn du vill använda hoppar du över det här steget.

    Find-Package elmah
    
  3. När du har hittat namnet använder du Install-Package kommandot för att installera paketet. Om du till exempel vill installera Elmah.MVC paketet anger du:

    Install-Package Elmah.MVC
    

Mer information om dessa kommandon finns i avsnitten Hitta ett paket och Installera ett paket .

Tips/Råd

Många konsolåtgärder beror på att en lösning med ett känt sökvägsnamn är öppet i Visual Studio. Om du har en lösning som inte har sparats eller ingen lösning visas felet Lösning har inte öppnats eller inte sparats. Kontrollera att du har en öppen och sparad lösning. Du kan åtgärda felet genom att skapa och spara en lösning eller spara en lösning som inte har sparats.

Konsolkontroller

Öppna Package Manager-konsolen i Visual Studio genom att välja Verktyg>NuGet Package Manager Package Manager>Console på den översta menyn. Konsolen är ett Visual Studio-fönster som du kan ordna och placera som du vill. Mer information finns i Anpassa fönsterlayouter i Visual Studio.

Som standard fungerar konsolkommandon mot den specifika paketkällan och projektet som visas i kontrollerna överst i fönstret:

Skärmbild som visar package manager-konsolens kontroller för paketkälla och projekt.

Om du väljer en annan paketkälla eller ett annat projekt ändras standardinställningarna för efterföljande kommandon. De flesta konsolkommandon stöder -Source och -ProjectName alternativ för att åsidosätta de här inställningarna för enskilda kommandon utan att ändra standardinställningarna.

Om du vill hantera paketkällor väljer du kugghjulsikonen, som öppnar dialogrutanVerktygsalternativ>>NuGet Package>. Kontrollen bredvid projektväljaren rensar konsolens innehåll.

Skärmbild som visar inställningarna för Package Manager-konsolen och tydliga kontroller.

Knappen längst till höger avbryter ett tidskrävande kommando. Om du till exempel kör Get-Package -ListAvailable -PageSize 500 listas de översta 500 tillgängliga paketen på standardkällan, till exempel nuget.org, vilket kan ta flera minuter.

Skärmbild som visar stoppkontrollen för Package Manager-konsolen.

Hitta ett paket

Om du vill hitta ett paket i standardkällan använder du Find-Package.

  • Så här hittar du och listar paket som innehåller vissa nyckelord:

    Find-Package <keyword1>
    Find-Package <keyword2>
    
  • Så här hittar och listar du paket vars namn börjar med en sträng:

    Find-Package <string> -StartWith
    
  • Som standard Find-Package returnerar en lista med 20 paket. Använd -First för att visa fler paket. Om du till exempel vill visa de första 100 paketen använder du:

    Find-Package <keyword> -First 100
    
  • Så här listar du alla versioner av ett visst paket:

    Find-Package <PackageName> -AllVersions -ExactMatch
    

Installera ett paket

Om du vill installera ett paket i standardprojektet använder du Install-Package <PackageName>. Kommandot Installera paketkonsol utför följande åtgärder:

  • Utför stegen i Vad händer när ett NuGet-paket installeras.
  • Visar tillämpliga licensvillkor i konsolfönstret med underförstått avtal. Om du inte godkänner villkoren bör du avinstallera paketet.
  • Lägger till en referens till paketet i projektfilen och i Solution Explorer under noden Referenser . Du måste spara projektet innan du kan se ändringarna i projektfilen.

Som standard Install-Package lägger du till paketet i standardprojektet som konsolfönstret anger. Om du vill lägga till paketet i ett projekt som inte är standard använder du alternativet -ProjectName . Om du till exempel vill lägga till paketet i Elmah.MVC projektet som inte är standard UtilitiesLib kör du följande kommando:

Install-Package Elmah.MVC -ProjectName UtilitiesLib

Avinstallera ett paket

Om du vill avinstallera ett paket från standardprojektet använder du Uninstall-Package <PackageName>. Om du behöver hitta paketnamnet använder du Get-Package för att se alla paket som är installerade i standardprojektet.

Uninstall-Package vidtar följande åtgärder:

  • Tar bort referenser till paketet från projektet och eventuella hanteringsformat. Referenser visas inte längre i Solution Explorer. Du kan behöva återskapa projektet för att ta bort referensen i mappen bin .
  • Återställer alla ändringar som installation av paketet gjorde i app.config eller web.config.
  • Tar bort tidigare installerade beroenden om inga återstående paket använder dessa beroenden.

Om du vill avinstallera ett paket och alla oanvända beroenden kör du:

Uninstall-Package <PackageName> -RemoveDependencies

Om du vill avinstallera ett paket även om andra paket är beroende av det kör du:

Uninstall-Package <PackageName> -Force

Uppdatera ett paket

Om du vill uppdatera ett paket använder du Get-Package och Update-Package. Du kan köra följande kommandon:

  • Så här kontrollerar du om det finns nyare versioner tillgängliga för installerade paket:

    Get-Package -updates
    
  • Så här uppdaterar du ett specifikt paket:

    Update-Package <PackageName>
    
  • Så här uppdaterar du alla paket i ett projekt:

    Update-Package -ProjectName <ProjectName>
    
  • Så här uppdaterar du alla paket i lösningen:

    Update-Package
    

Använda NuGet CLI i konsolen

Du kan också utföra de flesta konsolåtgärder med NuGet CLI. PowerShell-konsolkommandona fungerar dock inom ramen för visual studio-sparade projekt och lösningar och gör ofta mer än motsvarande NuGet CLI-kommandon. Om du till exempel installerar ett paket via Install-Package läggs en referens till projektfilen, men nuGet CLI-kommandot gör det inte. Därför föredrar utvecklare som arbetar i Visual Studio vanligtvis att använda konsolkommandona i stället för NuGet CLI.

Om du vill använda NuGet CLI-kommandon i Package Manager-konsolen installerar du NuGet.CommandLine-paketet .

Install-Package NuGet.CommandLine

Föregående kommando installerar den senaste versionen av NuGet CLI. Om du vill installera en viss version använder du alternativet -Version . Om du till exempel vill installera version 4.4.1 anger du:

Install-Package NuGet.CommandLine -Version 4.4.1

När du har installerat NuGet.CommandLine paketet kan du köra alla NuGet CLI-kommandon via Package Manager-konsolen.

Utöka konsolen för Package Manager

Vissa paket installerar nya kommandon för konsolen. Till exempel MvcScaffolding skapar kommandon som Scaffold, som genererar ASP.NET MVC-styrenheter och vyer:

Skärmbild som visar NuGet CLI-kommandon som är tillgängliga när du har installerat NuGet.CommandLine-paketet.

Konfigurera en NuGet PowerShell-profil

Du kan skapa en PowerShell-profil för att göra dina vanliga kommandon tillgängliga i alla PowerShell-kontexter, så att du inte förlorar dina PowerShell-inställningar mellan sessioner. NuGet stöder en NuGet-specifik profil, vanligtvis på %UserProfile%\Documents\WindowsPowerShell\NuGet_profile.ps1.

Om du vill hitta din användarprofilplats anger du $profile i -konsolen:

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

Om du vill ta reda på om det finns en profil på den platsen anger du test-path $profile. Om kommandot returnerar Falsemåste du skapa profilen med det angivna namnet på den platsen. Mer information finns i Windows PowerShell-profiler.

Nästa steg