Správa balíčků pomocí konzoly Správce balíčků sady Visual Studio (PowerShell)

Konzola Správce balíčků v sadě Visual Studio používá příkazy PowerShellu k interakci s balíčky NuGet. Konzolu můžete použít v případě, že neexistuje způsob, jak provést operaci prostřednictvím uživatelského rozhraní Správce balíčků. V konzole můžete také použít příkazy rozhraní příkazového řádku (CLI) dotnet nebo NuGet CLI .

Tento článek popisuje, jak vyhledat, nainstalovat, aktualizovat a odinstalovat balíčky NuGet pomocí příkazů PowerShellu v konzole Správce balíčků. Kompletní referenční informace k příkazům PowerShellu správce balíčků najdete v referenčních informacích k PowerShellu.

Důležité

Příkazy a argumenty PowerShellu v tomto článku jsou specifické pro konzolu Správce balíčků sady Visual Studio. Tyto příkazy se liší od příkazů modulu PackageManagement , které můžete použít v obecném prostředí PowerShellu. Každé prostředí má příkazy, které nejsou k dispozici v druhém prostředí, a příkazy se stejným názvem se můžou lišit v jejich konkrétních argumentech.

Dostupnost konzoly

Počínaje verzí Visual Studio 2017 se NuGet a Správce balíčků NuGet nainstalují automaticky při vytváření libovolného pracovního vytížení souvisejícího s .NET ve Visual Studio. Správce balíčků můžete nainstalovat také pomocí instalačního programu sady Visual Studio. V instalačním programu vyberteJednotlivé komponenty>Nástroje pro kód>Správce balíčků NuGet.

Rozšíření Správce balíčků NuGet můžete také vyhledat v sadě Visual Studio v nabídce Nástroje>Rozšíření a aktualizace nebo Rozšíření. Pokud v sadě Visual Studio nemůžete použít instalátor rozšíření, můžete rozšíření stáhnout přímo z https://www.nuget.org/downloads.

Konzola Správce balíčků je integrovaná do Správce balíčků pro Visual Studio ve Windows. Visual Studio Code neobsahuje konzolu, ale ke správě balíčků NuGet můžete použít rozšíření C# Dev Kit . Pomocí tohoto rozšíření můžete spouštět příkazy v Průzkumníku řešení C# Dev Kit nebo v paletě příkazů editoru Visual Studio Code. Další informace najdete v nuGetu v editoru Visual Studio Code.

Rychlé vyhledání a instalace balíčku

Pokud chcete k rychlému vyhledání a instalaci balíčku použít konzolu Správce balíčků, postupujte následovně:

  1. Otevřete svůj projekt nebo řešení ve Visual Studiu a vyberte Nástroje>Správce balíčků NuGet>Konzola správce balíčků pro otevření okna Konzoly Správce balíčků.

  2. V konzole spusťte Find-Package příkaz s klíčovým slovem a vyhledejte balíček, který chcete nainstalovat. Pokud například chcete najít balíčky, které poskytují moduly protokolování chyb a obslužné rutiny (ELMAH), spusťte následující příkaz a vyhledejte klíčové slovo elmah. Pokud už znáte požadovaný název balíčku, přeskočte tento krok.

    Find-Package elmah
    
  3. Jakmile balíček najdete, spusťte Install-Package příkaz s ID balíčku a nainstalujte balíček. Pokud například chcete balíček nainstalovat Elmah.MVC , spusťte následující příkaz:

    Install-Package Elmah.MVC
    

Další podrobnosti o těchto příkazech najdete v částech Najít balíček a Nainstalovat balíček .

Návod

Mnoho operací konzoly závisí na tom, že je v aplikaci Visual Studio otevřené řešení s předem známou cestou. Pokud máte neuložené řešení nebo žádné řešení, zobrazí se chybová zpráva o tom, že nemáte otevřené nebo uložené řešení. Pokud chcete chybu opravit, vytvořte a uložte řešení nebo uložte neuložené řešení.

Použití ovládacích prvků konzoly

Pokud chcete otevřít konzolu Správce balíčků v sadě Visual Studio, přejděte do horní nabídky a pak vyberte Nástroje>Správce balíčků NuGet>Konzola Správce balíčků. Konzola je okno sady Visual Studio, které můžete uspořádat a umístit podle potřeby. Další informace naleznete v tématu Přizpůsobení rozložení oken a personalizace karet.

Příkazy konzoly ve výchozím nastavení pracují s konkrétním zdrojem balíčku a projektem zobrazeným v ovládacích prvcích v horní části okna konzoly Správce balíčků:

Snímek obrazovky s oknem konzoly Správce balíčků Nahoře jsou zvýrazněné seznamy zdrojů balíčků a výchozích projektů.

Výběr jiného zdroje balíčku nebo projektu změní výchozí hodnoty pro následné příkazy. Chcete-li tato nastavení přepsat pro jednotlivé příkazy beze změny výchozích hodnot, většina konzolových příkazů podporuje volby -Source a -ProjectName.

Pokud chcete spravovat zdroje balíčků, vyberte ikonu ozubeného kolečka, která otevře Nástroje>MožnostiSprávce balíčků NuGet>Zdroje balíčků dialog. Pokud chcete vymazat obsah konzoly, vyberte Vymazat konzolu vedle seznamu Výchozí projekt .

Snímek obrazovky okna konzoly Správce balíčků. V horní části jsou zvýrazněny dvě ikony. Jedna ukazuje ozubené kolo. Druhá zobrazuje výstupní čáry a červené X.

Chcete-li přerušit dlouhotrvající příkaz, vyberte zastavit spuštění příkazu , vedle ikony Vymazat konzolu . Například spuštěním Get-Package -ListAvailable -PageSize 500 se zobrazí seznam 500 nejlepších dostupných balíčků z výchozího zdroje, jako je nuget.org, což může trvat několik minut.

Snímek obrazovky s oknem konzoly Správce balíčků V horní části je zvýrazněná ikona spuštění příkazu Zastavit, která vypadá jako červený čtverec.

Vyhledání balíčku

Pokud chcete najít balíček ve výchozím zdroji, použijte Find-Package. Následující bloky kódu ukazují, jak pomocí parametrů upřesnit hledání:

  • Vyhledání a výpis balíčků, které obsahují určité klíčové slovo:

    Find-Package <keyword>
    
  • Vyhledejte a vypište balíčky s ID, které začíná určitým řetězcem.

    Find-Package <string> -StartWith
    
  • Zobrazí prvních 100 balíčků, které obsahují určité klíčové slovo:

    Find-Package <keyword> -First 100
    

    Ve výchozím nastavení Find-Package vrátí seznam 20 balíčků. Stejně jako v předchozím příkladu můžete použít -First k určení jiného počtu balíčků.

  • Výpis všech verzí určitého balíčku:

    Find-Package <package-name> -AllVersions -ExactMatch
    

Instalace balíčku

Chcete-li nainstalovat balíček do výchozího projektu, použijte Install-Package <package-name>. Příkaz konzoly Install-Package provede následující akce:

  • Provede kroky v části Co se stane při instalaci balíčku NuGet.
  • Zobrazí příslušné licenční podmínky v okně konzoly s předpokládanou smlouvou. Pokud s podmínkami nesouhlasíte, měli byste balíček odinstalovat.
  • Přidá odkaz na balíček v souboru projektu a v Průzkumníku řešení v uzlu Závislosti nebo Odkazy . Chcete-li rozšířit změny do souboru projektu, je nutné uložit projekt.

Ve výchozím nastavení Install-Package přidá balíček do výchozího projektu, který určuje okno konzoly. Pokud chcete přidat balíček do projektu, který není výchozím projektem, použijte tuto -ProjectName možnost. Pokud chcete například přidat Elmah.MVC balíček do jiného než výchozího UtilitiesLib projektu, spusťte následující příkaz:

Install-Package Elmah.MVC -ProjectName UtilitiesLib

Odinstalujte balíček

Chcete-li odinstalovat balíček z výchozího projektu, použijte Uninstall-Package <package-name>. Pokud potřebujete najít název balíčku, pomocí příkazu Get-Package vypište všechny balíčky nainstalované ve výchozím projektu.

Uninstall-Package provede následující akce:

  • Odebere odkazy na balíček z projektu a jakékoliv formáty řízení. Odkazy se už nezobrazují v Průzkumníku řešení. Možná budete muset projekt znovu sestavit, aby se odebrala reference ve složce bin.
  • Vrátí jakékoli změny, které instalace balíčku provedla v app.config nebo web.config.
  • Odebere dříve nainstalované závislosti, pokud tyto závislosti nepoužívají žádné zbývající balíčky.

Následující bloky kódu ukazují, jak příkaz používat v různých scénářích:

  • Odinstalujte balíček a všechny jeho nevyužité závislosti:

    Uninstall-Package <package-name> -RemoveDependencies
    
  • Odinstalujte balíček i v případě, že na něm závisí další balíčky:

    Uninstall-Package <package-name> -Force
    

Aktualizace balíčku

Chcete-li aktualizovat balíčky, použijte Update-Package. Pomocí příkazu Get-Package můžete také zobrazit seznam dostupných aktualizací nainstalovaných balíčků. Následující bloky kódu ukazují, jak použít parametry k úpravě oboru aktualizace:

  • Zkontrolujte, jestli jsou pro všechny balíčky nainstalované v řešení dostupné novější verze:

    Get-Package -updates
    
  • Aktualizace konkrétního balíčku:

    Update-Package <package-name>
    
  • Aktualizace všech balíčků v projektu:

    Update-Package -ProjectName <project-name>
    
  • Aktualizujte všechny balíčky v řešení:

    Update-Package
    

Použití rozhraní příkazového řádku NuGet v konzole

Většinu operací konzoly můžete provádět také pomocí rozhraní příkazového řádku NuGet. Příkazy konzoly PowerShellu ale fungují v kontextu uloženého projektu a řešení sady Visual Studio a často provádějí více než ekvivalentní příkazy rozhraní příkazového řádku NuGet. Například instalace balíčku prostřednictvím Install-Package přidá odkaz na soubor projektu, ale příkaz Rozhraní příkazového řádku NuGet ne. Z tohoto důvodu vývojáři, kteří pracují v sadě Visual Studio, obvykle raději používají příkazy konzoly místo rozhraní příkazového řádku NuGet.

Pokud chcete použít příkazy rozhraní příkazového řádku NuGet v konzole Správce balíčků, nainstalujte balíček NuGet.CommandLine .

Install-Package NuGet.CommandLine

Předchozí příkaz nainstaluje nejnovější verzi rozhraní příkazového řádku NuGet. Pokud chcete nainstalovat konkrétní verzi, použijte tuto -Version možnost. Pokud například chcete nainstalovat verzi 4.4.1, použijte následující příkaz:

Install-Package NuGet.CommandLine -Version 4.4.1

Po instalaci NuGet.CommandLine balíčku můžete pomocí konzoly Správce balíčků spustit všechny příkazy rozhraní příkazového řádku NuGet.

Rozšíření konzoly Správce balíčků

Některé balíčky rozšiřují konzolu Správce balíčků přidáním příkazů. Balíček například Microsoft.EntityFrameworkCore.Tools přidá příkazy jako následující:

  • Add-Migration: Vygeneruje soubor migrace pro vytváření nebo aktualizaci databázových tabulek.
  • Update-Database: Vytvoří nebo aktualizuje databázi podle nejnovější migrace.

Snímek obrazovky s oknem konzoly Správce balíčků Výstup z příkazů Add-Migration a Update-Database zobrazuje vytvářenou databázi.

Nastavení profilu PowerShellu NuGet

Můžete vytvořit profil PowerShellu, který zpřístupní běžně používané příkazy ve všech kontextech PowerShellu, takže nepřijdete o nastavení PowerShellu mezi relacemi. NuGet podporuje profil specifický pro NuGet, obvykle v %UserProfile%\Documents\WindowsPowerShell\NuGet_profile.ps1.

Pokud chcete najít umístění profilu uživatele, zadejte $profile do konzoly:

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

Chcete-li zjistit, zda profil existuje v daném umístění, zadejte test-path $profile. Pokud se příkaz vrátí False, musíte vytvořit profil se zadaným názvem v tomto umístění. Další informace najdete v tématu Profily prostředí Windows PowerShell.