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

Konsola menedżera 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żera pakietów. W konsoli programu można również użyć poleceń interfejsu wiersza polecenia dotnet lub interfejsu wiersza polecenia NuGet .

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

Ważne

Polecenia i argumenty programu PowerShell w tym artykule są specyficzne dla konsoli menedżera pakietów programu Visual Studio. 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, pakiety 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. Menedżer pakietów można również zainstalować, wybierając pozycję Poszczególne składniki>Narzędzia> koduMenedżer pakietów NuGet w Instalator programu Visual Studio.

Możesz również wyszukać rozszerzenie Menedżera 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żera pakietów jest wbudowana w Menedżera pakietów dla programu Visual Studio w systemie Windows. 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 interfejsu wiersza polecenia 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żera pakietów, aby szybko znaleźć i zainstalować pakiet:

  1. Otwórz projekt lub rozwiązanie w programie Visual Studio i wybierz pozycję Narzędzia>Konsola menedżera>pakietów NuGet,aby otworzyć okno Konsola menedżera pakietów.

  2. W konsoli wprowadź słowo Find-Package 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 .

Porada

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

Kontrolki konsoli

Aby otworzyć konsolę Menedżera pakietów w programie Visual Studio, wybierz pozycję Narzędzia>Konsola menedżera>pakietów NuGetw 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:

Zrzut ekranu przedstawiający kontrolki konsoli menedżera pakietów dla źródła pakietu i projektu.

Wybranie innego źródła pakietu lub projektu powoduje zmianę wartości domyślnych dla kolejnych poleceń. Aby zastąpić te ustawienia dla pojedynczych poleceń bez zmiany wartości 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 Źródła>pakietów Menedżera >pakietów NuGet. Kontrolka obok selektora projektu czyści zawartość konsoli.

Zrzut ekranu przedstawiający ustawienia konsoli menedżera pakietów i wyczyść kontrolki.

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

Zrzut ekranu przedstawiający kontrolkę Zatrzymaj konsolę menedżera pakietów.

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ę ciągiem:

    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 czynności:

  • Czy kroki opisane w temacie Co się stanie po zainstalowaniu pakietu NuGet.
  • Wyświetla odpowiednie postanowienia licencyjne w oknie konsoli z dorozumianą umową. 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 można było zobaczyć zmiany w pliku projektu, musisz zapisać projekt.

Domyślnie Install-Package program 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 app.config lub web.config.
  • Usuwa wcześniej zainstalowane zależności, jeśli żadne pozostałe pakiety nie korzystają z tych zależności.

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

Uninstall-Package <PackageName> -RemoveDependencies

Aby odinstalować pakiet, nawet jeśli inne pakiety są od niego zależne, 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
    

Korzystanie z 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 i 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żera 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 NuGet za pomocą konsoli menedżera pakietów.

Rozszerzanie konsoli menedżera 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:

Zrzut ekranu przedstawiający polecenia interfejsu wiersza polecenia nuGet dostępne po zainstalowaniu pakietu NuGet.CommandLine.

Konfigurowanie profilu programu PowerShell nuGet

Możesz utworzyć profil programu PowerShell, aby udostępnić często używane polecenia we wszystkich kontekstach programu PowerShell, dzięki czemu nie utracisz ustawień programu PowerShell między sesjami. Pakiet NuGet obsługuje profil specyficzny dla narzędzia NuGet, zazwyczaj 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 Windows PowerShell.

Następne kroki