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:
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.
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 kluczoweelmah
, uruchom następujące polecenie. Jeśli znasz już odpowiednią nazwę pakietu, pomiń ten krok.Find-Package elmah
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:
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.
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.
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:
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 False
wartość , musisz utworzyć profil o określonej nazwie w tej lokalizacji. Aby uzyskać więcej informacji, zobacz profile Windows PowerShell.