Delen via


Pakketten beheren met de Visual Studio Package Manager-console (PowerShell)

De Package Manager-console in Visual Studio maakt gebruik van PowerShell-opdrachten om te communiceren met NuGet-pakketten. U kunt de console gebruiken wanneer er geen manier is om een bewerking uit te voeren via de gebruikersinterface van Package Manager. U kunt ook dotnet CLI - of NuGet CLI-opdrachten in de console gebruiken.

In dit artikel wordt beschreven hoe u NuGet-pakketten vindt, installeert, bijwerkt en verwijdert met PowerShell-opdrachten in de Package Manager-console. Raadpleeg de PowerShell-naslaginformatie voor de volledige opdrachtreferentie van de Package Manager Console PowerShell.

Belangrijk

De PowerShell-opdrachten en -argumenten in dit artikel zijn specifiek voor de Visual Studio Package Manager-console. Deze opdrachten verschillen van de PackageManagement-moduleopdrachten die u kunt gebruiken in een algemene PowerShell-omgeving. Elke omgeving heeft opdrachten die niet beschikbaar zijn in de andere omgeving en opdrachten met dezelfde naam kunnen verschillen in hun specifieke argumenten.

Beschikbaarheid van console

Vanaf Visual Studio 2017 worden NuGet en de NuGet Package Manager automatisch geïnstalleerd wanneer u .NET-gerelateerde workloads aanmaakt in Visual Studio. U kunt de Package Manager ook installeren door in het Visual Studio-installatieprogramma de afzonderlijke onderdelen>, Codehulpmiddelen> en de NuGet-pakketbeheer te selecteren.

U kunt ook zoeken naar de NuGet Package Manager extensie onder de menu's Extra>Extensies en Updates of Extensies. Als u het installatieprogramma voor extensies niet kunt gebruiken in Visual Studio, kunt u de extensie rechtstreeks downloaden van https://dist.nuget.org/index.html.

De Package Manager-console is ingebouwd in Package Manager voor Visual Studio in Windows. Visual Studio Code en Visual Studio voor Mac bevatten de console niet. Visual Studio voor Mac heeft een gebruikersinterface voor het beheren van NuGet-pakketten en de equivalente consoleopdrachten zijn beschikbaar via de NuGet CLI. Zie NuGet-pakketten installeren en beheren in Visual Studio voor Mac voor meer informatie.

Snel een pakket zoeken en installeren

U kunt de Package Manager-console gebruiken om snel een pakket te vinden en te installeren:

  1. Open uw project of oplossing in Visual Studio en selecteer Tools>NuGet Package Manager>Package Manager Console om het venster van de Package Manager Console te openen.

  2. Voer in Find-Package de console een trefwoord in om het pakket te vinden dat u wilt installeren. Als u bijvoorbeeld pakketten wilt zoeken die het trefwoord elmahbevatten, voert u de volgende opdracht uit. Als u de gewenste pakketnaam al weet, slaat u deze stap over.

    Find-Package elmah
    
  3. Zodra u de naam hebt gevonden, gebruikt u de Install-Package opdracht om het pakket te installeren. Als u bijvoorbeeld het Elmah.MVC pakket wilt installeren, voert u het volgende in:

    Install-Package Elmah.MVC
    

Zie de secties Een pakket zoeken en Een pakket installeren voor meer informatie over deze opdrachten.

Aanbeveling

Veel consolebewerkingen zijn afhankelijk van het hebben van een oplossing met een bekende padnaam die is geopend in Visual Studio. Als u een niet-opgeslagen oplossing hebt of geen oplossing, ziet u dat de foutoplossing niet is geopend of niet is opgeslagen. Zorg ervoor dat u een open en opgeslagen oplossing hebt. U kunt de fout corrigeren door een oplossing te maken en op te slaan of een niet-opgeslagen oplossing op te slaan.

Consolebediening

Als u de Package Manager-console in Visual Studio wilt openen, selecteert u Tools>NuGet Package Manager Package Manager>Console in het bovenste menu. De console is een Visual Studio-venster dat u kunt rangschikken en positioneren zoals u wilt. Zie Vensterindelingen aanpassen in Visual Studio voor meer informatie.

Consoleopdrachten werken standaard op basis van de specifieke pakketbron en het project dat wordt weergegeven in de besturingselementen bovenaan het venster:

Schermopname van de besturingselementen van de Package Manager-console voor pakketbron en -project.

Als u een andere pakketbron of een ander project selecteert, worden de standaardwaarden voor volgende opdrachten gewijzigd. Als u deze instellingen voor één opdracht wilt overschrijven zonder de standaardinstellingen te wijzigen, ondersteunen de meeste consoleopdrachten de opties -Source en -ProjectName.

Als u pakketbronnen wilt beheren, selecteert u het tandwielpictogram, waarmee het dialoogvenster Extra>Opties>NuGet Package Manager Pakketbronnen> wordt geopend. Het besturingselement naast de projectkiezer wist de inhoud van de console.

Schermopname die de instellingen van de Package Manager Console en duidelijke besturingselementen toont.

De knop aan de rechterkant onderbreekt een langlopende opdracht. Als u bijvoorbeeld Get-Package -ListAvailable -PageSize 500 uitvoert, worden de top 500 beschikbare pakketten op de standaardbron, zoals nuget.org, weergegeven, wat enkele minuten kan duren.

Schermopname van het stop-besturingselement van de Package Manager-console.

Een pakket zoeken

Als u een pakket in de standaardbron wilt zoeken, gebruikt u Find-Package.

  • Pakketten zoeken en weergeven die bepaalde trefwoorden bevatten:

    Find-Package <keyword1>
    Find-Package <keyword2>
    
  • Pakketten zoeken en weergeven waarvan de naam begint met een tekenreeks:

    Find-Package <string> -StartWith
    
  • Standaard retourneert Find-Package een lijst met 20 pakketten. Gebruik -First om meer pakketten weer te geven. Als u bijvoorbeeld de eerste 100 pakketten wilt weergeven, gebruikt u:

    Find-Package <keyword> -First 100
    
  • Alle versies van een bepaald pakket weergeven:

    Find-Package <PackageName> -AllVersions -ExactMatch
    

Een pakket installeren

Als u een pakket wilt installeren in het standaardproject, gebruikt u Install-Package <PackageName>. De opdracht Install-Package-console voert de volgende acties uit:

  • Voert de stappen uit in Wat gebeurt er wanneer een NuGet-pakket wordt geïnstalleerd.
  • Geeft toepasselijke licentievoorwaarden weer in het consolevenster met impliciete overeenkomst. Als u niet akkoord gaat met de voorwaarden, moet u het pakket verwijderen.
  • Voegt een verwijzing toe naar het pakket in het projectbestand en in Solution Explorer onder het knooppunt Verwijzingen . U moet het project opslaan voordat u de wijzigingen in het projectbestand kunt zien.

Install-Package Standaard voegt u het pakket toe aan het standaardproject dat in het consolevenster wordt opgegeven. Als u het pakket wilt toevoegen aan een project dat niet de standaardwaarde is, gebruikt u de -ProjectName optie. Als u bijvoorbeeld het Elmah.MVC pakket wilt toevoegen aan het niet-standaardproject UtilitiesLib , voert u de volgende opdracht uit:

Install-Package Elmah.MVC -ProjectName UtilitiesLib

Een pakket verwijderen

Als u een pakket wilt verwijderen uit het standaardproject, gebruikt u Uninstall-Package <PackageName>. Als u de pakketnaam wilt vinden, gebruikt u Get-Package om alle pakketten te zien die in het standaardproject zijn geïnstalleerd.

Uninstall-Package voert de volgende acties uit:

  • Verwijdert verwijzingen naar het pakket uit het project en eventuele beheerindelingen. Verwijzingen worden niet meer weergegeven in Solution Explorer. Mogelijk moet u het project opnieuw opbouwen om de verwijzing in de bin-map te verwijderen.
  • Hiermee worden eventuele wijzigingen ongedaan gemaakt die door de installatie van het pakket in app.config of web.config zijn aangebracht.
  • Hiermee verwijdert u eerder geïnstalleerde afhankelijkheden als er geen resterende pakketten zijn die afhankelijkheden gebruiken.

Als u een pakket en alle ongebruikte afhankelijkheden wilt verwijderen, voert u het volgende uit:

Uninstall-Package <PackageName> -RemoveDependencies

Als u een pakket wilt verwijderen, zelfs als andere pakketten hiervan afhankelijk zijn, voert u het volgende uit:

Uninstall-Package <PackageName> -Force

Een pakket bijwerken

Als u een pakket wilt bijwerken, gebruikt u Get-Package en Update-Package. U kunt de volgende opdrachten uitvoeren:

  • Controleren of er nieuwere versies beschikbaar zijn voor geïnstalleerde pakketten:

    Get-Package -updates
    
  • Een specifiek pakket bijwerken:

    Update-Package <PackageName>
    
  • Alle pakketten in een project bijwerken:

    Update-Package -ProjectName <ProjectName>
    
  • Alle pakketten in de oplossing bijwerken:

    Update-Package
    

De NuGet CLI gebruiken in de console

U kunt ook de meeste consolebewerkingen uitvoeren met de NuGet CLI. De PowerShell-consoleopdrachten werken echter binnen de context van het opgeslagen project en de oplossing van Visual Studio en doen vaak meer dan hun equivalente NuGet CLI-opdrachten. nl-NL: Als u bijvoorbeeld een pakket installeert via Install-Package, dan wordt er een verwijzing toegevoegd aan het projectbestand, maar de NuGet CLI-opdracht doet dit niet. Daarom gebruiken ontwikkelaars die in Visual Studio werken doorgaans liever de consoleopdrachten in plaats van de NuGet CLI.

Als u NuGet CLI-opdrachten wilt gebruiken in de Package Manager-console, installeert u het NuGet.CommandLine-pakket .

Install-Package NuGet.CommandLine

Met de voorgaande opdracht wordt de nieuwste versie van de NuGet CLI geïnstalleerd. Als u een specifieke versie wilt installeren, gebruikt u de -Version optie. Als u bijvoorbeeld versie 4.4.1 wilt installeren, voert u het volgende in:

Install-Package NuGet.CommandLine -Version 4.4.1

Nadat u het NuGet.CommandLine pakket hebt geïnstalleerd, kunt u alle NuGet CLI-opdrachten uitvoeren via de Package Manager-console.

De Package Manager-console uitbreiden

Sommige pakketten installeren nieuwe opdrachten voor de console. Maakt bijvoorbeeld MvcScaffolding opdrachten zoals Scaffold, waarmee ASP.NET MVC-controllers en weergaven worden gegenereerd:

Schermopname van NuGet CLI-opdrachten die beschikbaar zijn na de installatie van het NuGet.CommandLine-pakket.

Een NuGet PowerShell-profiel instellen

U kunt een PowerShell-profiel maken om veelgebruikte opdrachten beschikbaar te maken in alle PowerShell-contexten, zodat u uw PowerShell-instellingen tussen sessies niet kwijtraakt. NuGet ondersteunt een NuGet-specifiek profiel, meestal op %UserProfile%\Documents\WindowsPowerShell\NuGet_profile.ps1.

Als u de locatie van uw gebruikersprofiel wilt vinden, voert u het volgende $profile in de console in:

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

Als u wilt bepalen of er een profiel op die locatie bestaat, voert u het volgende in test-path $profile. Als de opdracht False als resultaat geeft, moet u op die locatie het profiel maken met de opgegeven naam. Zie Windows PowerShell-profielen voor meer informatie.

Volgende stappen