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:
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.
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 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 .
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:
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.
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.
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:
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 False
wartość , musisz utworzyć profil o określonej nazwie w tej lokalizacji. Aby uzyskać więcej informacji, zobacz Profile programu Windows PowerShell.