Zarządzanie pakietami za pomocą konsoli programu Visual Studio Menedżer pakietów (PowerShell)

Konsola Menedżer pakietów w programie Visual Studio używa poleceń programu PowerShell do interakcji z pakietami NuGet. Konsolę można używać, gdy nie ma możliwości wykonania operacji za pośrednictwem interfejsu użytkownika Menedżer pakietów. Możesz również użyć poleceń interfejsu wiersza polecenia dotnet lub interfejsu wiersza polecenia NuGet w konsoli programu .

W tym artykule opisano sposób znajdowania, instalowania, aktualizowania i odinstalowywania pakietów NuGet za pomocą poleceń programu PowerShell w konsoli Menedżer pakietów. Aby uzyskać pełną dokumentację poleceń programu PowerShell Menedżer pakietów konsoli, zobacz Dokumentacja programu PowerShell.

Ważne

Polecenia i argumenty programu PowerShell w tym artykule są specyficzne dla konsoli programu Visual Studio Menedżer pakietów. Te polecenia różnią się od poleceń modułu PackageManagement, których można użyć w ogólnym środowisku programu PowerShell. Każde środowisko ma polecenia, które nie są dostępne w drugiej, a polecenia o tej samej nazwie mogą się różnić w ich konkretnych argumentach.

Dostępność konsoli

Począwszy od programu Visual Studio 2017, Pakiet NuGet i Menedżer pakietów NuGet są instalowane automatycznie podczas tworzenia dowolnego elementu . Obciążenia związane z platformą NET w programie Visual Studio. Możesz również zainstalować Menedżer pakietów, wybierając pozycję Poszczególne składniki>Narzędzia kodu Menedżera> pakietów NuGet w Instalator programu Visual Studio.

Możesz również wyszukać rozszerzenie Menedżer pakietów NuGet w menu Rozszerzenia narzędzi>i Aktualizacje lub Rozszerzenia. Jeśli nie możesz użyć instalatora rozszerzeń w programie Visual Studio, możesz pobrać rozszerzenie bezpośrednio z witryny https://dist.nuget.org/index.html.

Konsola Menedżer pakietów jest wbudowana w Menedżer pakietów dla programu Visual Studio w systemie Windows. Program Visual Studio Code i Visual Studio dla komputerów Mac nie zawierają konsoli. Visual Studio dla komputerów Mac ma interfejs użytkownika do zarządzania pakietami NuGet, a równoważne polecenia konsoli są dostępne za pośrednictwem polecenia Interfejs wiersza polecenia narzędzia NuGet. Aby uzyskać więcej informacji, zobacz Instalowanie pakietów NuGet i zarządzanie nimi w Visual Studio dla komputerów Mac.

Szybkie znajdowanie i instalowanie pakietu

Aby użyć konsoli Menedżer pakietów, aby szybko znaleźć i zainstalować pakiet:

  1. Otwórz projekt lub rozwiązanie w programie Visual Studio, a następnie wybierz pozycję Narzędzia NuGet>Menedżer pakietów> Menedżer pakietów Konsola, aby otworzyć okno konsoli Menedżer pakietów.

  2. W konsoli wprowadź Find-Package słowo kluczowe , aby znaleźć pakiet, który chcesz zainstalować. Aby na przykład znaleźć pakiety zawierające słowo kluczowe elmah, uruchom następujące polecenie. Jeśli znasz już odpowiednią nazwę pakietu, pomiń ten krok.

    Find-Package elmah
    
  3. Po znalezieniu nazwy użyj Install-Package polecenia , aby zainstalować pakiet. Aby na przykład zainstalować Elmah.MVC pakiet, wprowadź:

    Install-Package Elmah.MVC
    

Aby uzyskać więcej informacji na temat tych poleceń, zobacz sekcje Znajdowanie pakietu i Instalowanie pakietu .

Napiwek

Wiele operacji konsoli zależy od tego, czy rozwiązanie ma otwartą nazwę ścieżki w programie Visual Studio. Jeśli masz niezapisane rozwiązanie lub nie masz rozwiązania, zobaczysz, że błąd Rozwiązanie nie jest otwarte lub nie zostało zapisane. Upewnij się, że masz otwarte i zapisane rozwiązanie. Aby poprawić błąd, utwórz i zapisz rozwiązanie lub zapisz niezapisane rozwiązanie.

Kontrolki konsoli

Aby otworzyć konsolę Menedżer pakietów w programie Visual Studio, wybierz pozycję Narzędzia NuGet>Menedżer pakietów> Menedżer pakietów Konsola w górnym menu. Konsola to okno programu Visual Studio, które można rozmieścić i ustawić tak, jak chcesz. Aby uzyskać więcej informacji, zobacz Dostosowywanie układów okien w programie Visual Studio.

Domyślnie polecenia konsoli działają względem określonego źródła pakietu i projektu wyświetlanego w kontrolkach w górnej części okna:

Screenshot that shows the Package Manager Console controls for package source and project.

Wybranie innego źródła pakietu lub projektu spowoduje zmianę wartości domyślnych dla kolejnych poleceń. Aby zastąpić te ustawienia dla pojedynczych poleceń bez zmiany ustawień domyślnych, większość poleceń konsoli obsługuje -Source i -ProjectName opcje.

Aby zarządzać źródłami pakietów, wybierz ikonę koła zębatego, która otwiera okno dialogowe Narzędzia>Opcje>NuGet Menedżer pakietów> Package Sources. Kontrolka obok selektora projektu czyści zawartość konsoli.

Screenshot that shows the Package Manager Console settings and clear controls.

Przycisk po prawej stronie przerywa długotrwałe polecenie. Na przykład uruchamianie Get-Package -ListAvailable -PageSize 500 wyświetla listę 500 najważniejszych dostępnych pakietów w domyślnym źródle, takich jak nuget.org, co może potrwać kilka minut.

Screenshot that shows the Package Manager Console stop control.

Znajdowanie pakietu

Aby znaleźć pakiet w domyślnym źródle, użyj polecenia Find-Package.

  • Aby znaleźć i wyświetlić pakiety zawierające określone słowa kluczowe:

    Find-Package <keyword1>
    Find-Package <keyword2>
    
  • Aby znaleźć i wyświetlić pakiety, których nazwa zaczyna się od ciągu:

    Find-Package <string> -StartWith
    
  • Domyślnie Find-Package zwraca listę 20 pakietów. Użyj polecenia -First , aby wyświetlić więcej pakietów. Aby na przykład wyświetlić pierwsze 100 pakietów, użyj:

    Find-Package <keyword> -First 100
    
  • Aby wyświetlić listę wszystkich wersji określonego pakietu:

    Find-Package <PackageName> -AllVersions -ExactMatch
    

Instalowanie pakietu

Aby zainstalować pakiet w projekcie domyślnym, użyj polecenia Install-Package <PackageName>. Polecenie konsoli Install-Package wykonuje następujące akcje:

  • Czy kroki opisane w temacie Co się stanie po zainstalowaniu pakietu NuGet.
  • Wyświetla odpowiednie postanowienia licencyjne w oknie konsoli z umową domniemaną. Jeśli nie zgadzasz się na warunki, należy odinstalować pakiet.
  • Dodaje odwołanie do pakietu w pliku projektu i w Eksplorator rozwiązań w węźle Odwołania. Aby zobaczyć zmiany w pliku projektu, musisz zapisać projekt.

Domyślnie Install-Package dodaje pakiet do domyślnego projektu, który określa okno konsoli. Aby dodać pakiet do projektu, który nie jest domyślny, użyj -ProjectName opcji . Aby na przykład dodać Elmah.MVC pakiet do projektu innego niż domyślny UtilitiesLib , uruchom następujące polecenie:

Install-Package Elmah.MVC -ProjectName UtilitiesLib

Odinstalowywanie pakietu

Aby odinstalować pakiet z projektu domyślnego, użyj polecenia Uninstall-Package <PackageName>. Jeśli musisz znaleźć nazwę pakietu, użyj polecenia Get-Package , aby wyświetlić wszystkie pakiety zainstalowane w projekcie domyślnym.

Odinstaluj pakiet wykonuje następujące akcje:

  • Usuwa odwołania do pakietu z projektu i wszelkie formaty zarządzania. Odwołania nie są już wyświetlane w Eksplorator rozwiązań. Może być konieczne ponowne skompilowanie projektu w celu usunięcia odwołania w folderze bin .
  • Odwraca wszelkie zmiany, które instalują pakiet wprowadzone w pliku app.config lub web.config.
  • Usuwa wcześniej zainstalowane zależności, jeśli żadne pozostałe pakiety nie używają tych zależności.

Aby odinstalować pakiet i wszystkie nieużywane zależności, uruchom polecenie:

Uninstall-Package <PackageName> -RemoveDependencies

Aby odinstalować pakiet nawet wtedy, gdy zależą od niego inne pakiety, uruchom polecenie:

Uninstall-Package <PackageName> -Force

Aktualizowanie pakietu

Aby zaktualizować pakiet, użyj polecenia Get-Package i Update-Package. Możesz uruchomić następujące polecenia:

  • Aby sprawdzić, czy są dostępne nowsze wersje dla wszystkich zainstalowanych pakietów:

    Get-Package -updates
    
  • Aby zaktualizować określony pakiet:

    Update-Package <PackageName>
    
  • Aby zaktualizować wszystkie pakiety w projekcie:

    Update-Package -ProjectName <ProjectName>
    
  • Aby zaktualizować wszystkie pakiety w rozwiązaniu:

    Update-Package
    

Używanie interfejsu wiersza polecenia NuGet w konsoli programu

Większość operacji konsoli można również wykonać za pomocą interfejsu wiersza polecenia NuGet. Jednak polecenia konsoli programu PowerShell działają w kontekście zapisanego projektu i rozwiązania programu Visual Studio, a często wykonują więcej niż ich równoważne polecenia interfejsu wiersza polecenia NuGet. Na przykład zainstalowanie pakietu za pomocą polecenia Install-Package dodaje odwołanie do pliku projektu, ale polecenie interfejsu wiersza polecenia NuGet nie. Z tego powodu deweloperzy pracujący w programie Visual Studio zazwyczaj wolą używać poleceń konsoli, a nie interfejsu wiersza polecenia NuGet.

Aby użyć poleceń interfejsu wiersza polecenia nuGet w konsoli Menedżer pakietów, zainstaluj pakiet NuGet.CommandLine.

Install-Package NuGet.CommandLine

Poprzednie polecenie instaluje najnowszą wersję interfejsu wiersza polecenia NuGet. Aby zainstalować określoną wersję, użyj -Version opcji . Aby na przykład zainstalować wersję 4.4.1, wprowadź:

Install-Package NuGet.CommandLine -Version 4.4.1

Po zainstalowaniu pakietu można uruchomić wszystkie polecenia interfejsu NuGet.CommandLine wiersza polecenia narzędzia NuGet za pośrednictwem konsoli Menedżer pakietów.

Rozszerzanie konsoli Menedżer pakietów

Niektóre pakiety instalują nowe polecenia dla konsoli programu . Na przykład tworzy polecenia takie MvcScaffolding jak Scaffold, które generują ASP.NET kontrolery MVC i widoki:

Screenshot that shows NuGet CLI commands available after installing the NuGet.CommandLine package.

Konfigurowanie profilu programu PowerShell NuGet

Możesz utworzyć profil programu PowerShell, aby udostępnić powszechnie używane polecenia we wszystkich kontekstach programu PowerShell, aby nie utracić ustawień programu PowerShell między sesjami. Pakiet NuGet obsługuje profil specyficzny dla pakietu NuGet, zwykle w folderze %UserProfile%\Documents\WindowsPowerShell\NuGet_profile.ps1.

Aby znaleźć lokalizację profilu użytkownika, wprowadź $profile w konsoli:

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

Aby określić, czy profil istnieje w tej lokalizacji, wprowadź .test-path $profile Jeśli polecenie zwróci Falsewartość , musisz utworzyć profil o określonej nazwie w tej lokalizacji. Aby uzyskać więcej informacji, zobacz Profile programu Windows PowerShell.

Następne kroki