Instalowanie pakietów za pomocą konsoli Menedżer pakietów i zarządzanie nimi w programie Visual Studio (PowerShell)

Konsola NuGet Menedżer pakietów umożliwia znajdowanie, instalowanie, odinstalowywanie i aktualizowanie pakietów NuGet za pomocą poleceń programu PowerShell NuGet. Korzystanie z konsoli jest konieczne w przypadkach, gdy interfejs użytkownika Menedżer pakietów nie zapewnia sposobu wykonywania operacji. Aby użyć nuget.exe poleceń interfejsu wiersza polecenia w konsoli programu , zobacz Używanie interfejsu wiersza polecenia nuget.exe w konsoli programu .

Konsola jest wbudowana w Visual Studio na Windows. Nie jest on dołączony do Visual Studio dla komputerów Mac ani Visual Studio Code.

Ważne

Wymienione tutaj polecenia są specyficzne dla konsoli Menedżer pakietów w Visual Studio i różnią się od poleceń modułu zarządzania pakietami, które są dostępne w ogólnym środowisku programu PowerShell. W szczególności każde środowisko ma polecenia, które nie są dostępne w drugiej, a polecenia o tej samej nazwie mogą również różnić się w ich konkretnych argumentach. W przypadku korzystania z konsoli zarządzania pakietami w Visual Studio mają zastosowanie polecenia i argumenty opisane w tym temacie.

Znajdowanie i instalowanie pakietu

Na przykład znalezienie i zainstalowanie pakietu odbywa się z trzema prostymi krokami:

  1. Otwórz projekt/rozwiązanie w Visual Studio i otwórz konsolę za pomocą polecenia Narzędzia > NuGet Menedżer pakietów konsoli > Menedżer pakietów.

  2. Znajdź pakiet, który chcesz zainstalować. Jeśli już o tym wiesz, przejdź do kroku 3.

    # Find packages containing the keyword "elmah"
    Find-Package elmah
    
  3. Uruchom polecenie instalacji:

    # Install the Elmah package to the project named MyProject.
    Install-Package Elmah -ProjectName MyProject
    

Ważne

Wszystkie operacje dostępne w konsoli programu można również wykonać za pomocą interfejsu wiersza polecenia NuGet. Jednak polecenia konsoli działają w kontekście Visual Studio i zapisanego projektu/rozwiązania i często wykonują więcej niż ich równoważne polecenia interfejsu wiersza polecenia. Na przykład zainstalowanie pakietu za pomocą konsoli powoduje dodanie odwołania do projektu, podczas gdy polecenie interfejsu wiersza polecenia nie. Z tego powodu deweloperzy pracujący w Visual Studio zazwyczaj wolą używać konsoli do interfejsu wiersza polecenia.

Porada

Wiele operacji konsoli zależy od otwarcia rozwiązania w Visual Studio o znanej nazwie ścieżki. Jeśli masz niezapisane rozwiązanie lub nie ma rozwiązania, zobaczysz błąd "Rozwiązanie nie zostało otwarte lub nie zostało zapisane. Upewnij się, że masz otwarte i zapisane rozwiązanie". Oznacza to, że konsola nie może określić folderu rozwiązania. Zapisanie niezapisanego rozwiązania lub utworzenie i zapisanie rozwiązania, jeśli nie masz otwartego rozwiązania, powinno poprawić błąd.

Otwieranie kontrolek konsoli i konsoli

  1. Otwórz konsolę w Visual Studio za pomocą polecenia Narzędzia > NuGet Menedżer pakietów > konsoli Menedżer pakietów. Konsola to okno Visual Studio, które można rozmieścić i umieścić, jednak chcesz (zobacz Dostosowywanie układów okien w Visual Studio).

  2. Domyślnie polecenia konsoli działają względem określonego źródła pakietu i projektu zgodnie z ustawieniem w kontrolce w górnej części okna:

    Package Manager Console controls for package source and project

  3. Wybranie innego źródła pakietu i/lub projektu powoduje zmianę tych wartości domyślnych dla kolejnych poleceń. Aby przesłonić te ustawienia bez zmiany wartości domyślnych, większość poleceń obsługuje -Source i -ProjectName opcje.

  4. Aby zarządzać źródłami pakietów, wybierz ikonę koła zębatego. Jest to skrót do okna dialogowego Opcje > narzędzi > NuGet Menedżer pakietów > źródła pakietów zgodnie z opisem na stronie interfejsu użytkownika Menedżer pakietów. Ponadto kontrolka po prawej stronie selektora projektu czyści zawartość konsoli:

    Package Manager Console settings and clear controls

  5. Najodpowidszy przycisk przerywa długotrwałe polecenie. Na przykład uruchomienie Get-Package -ListAvailable -PageSize 500 listy pierwszych 500 pakietów w domyślnym źródle (na przykład nuget.org), co może potrwać kilka minut.

    Package Manager Console stop control

Instalowanie pakietu

# Add the Elmah package to the default project as specified in the console's project selector
Install-Package Elmah

# Add the Elmah package to a project named UtilitiesLib that is not the default
Install-Package Elmah -ProjectName UtilitiesLib

Zobacz Install-Package (Instalowanie pakietu).

Zainstalowanie pakietu w konsoli wykonuje te same kroki co opisane w temacie Co się stanie po zainstalowaniu pakietu z następującymi dodatkami:

  • Konsola wyświetla odpowiednie postanowienia licencyjne w oknie z domniemaną umową. Jeśli nie zgadzasz się na warunki, należy natychmiast odinstalować pakiet.
  • Ponadto odwołanie do pakietu jest dodawane do pliku projektu i pojawia się w Eksplorator rozwiązań w węźle Odwołania, należy zapisać projekt, aby bezpośrednio wyświetlić zmiany w pliku projektu.

Odinstalowywanie pakietu

# Uninstalls the Elmah package from the default project
Uninstall-Package Elmah

# Uninstalls the Elmah package and all its unused dependencies
Uninstall-Package Elmah -RemoveDependencies 

# Uninstalls the Elmah package even if another package depends on it
Uninstall-Package Elmah -Force

Zobacz Odinstaluj pakiet. Użyj polecenia Get-Package , aby wyświetlić wszystkie pakiety aktualnie zainstalowane w projekcie domyślnym, jeśli musisz znaleźć identyfikator.

Odinstalowywanie pakietu wykonuje następujące akcje:

  • Usuwa odwołania do pakietu z projektu (i dowolny format zarządzania, który jest używany). Odwołania nie są już wyświetlane w Eksplorator rozwiązań. (Może być konieczne ponowne skompilowanie projektu, aby zobaczyć, że został usunięty z folderu Bin ).
  • Odwraca wszelkie zmiany wprowadzone do app.config lub web.config po zainstalowaniu pakietu.
  • Usuwa wcześniej zainstalowane zależności, jeśli żadne pozostałe pakiety nie używają tych zależności.

Aktualizowanie pakietu

# Checks if there are newer versions available for any installed packages
Get-Package -updates

# Updates a specific package using its identifier, in this case jQuery
Update-Package jQuery

# Update all packages in the project named MyProject (as it appears in Solution Explorer)
Update-Package -ProjectName MyProject

# Update all packages in the solution
Update-Package

Zobacz Get-Package and Update-Package

Znajdowanie pakietu

# Find packages containing keywords
Find-Package elmah
Find-Package logging

# List packages whose ID begins with Elmah
Find-Package Elmah -StartWith

# By default, Get-Package returns a list of 20 packages; use -First to show more
Find-Package logging -First 100

# List all versions of the package with the ID of "jquery"
Find-Package jquery -AllVersions -ExactMatch

Zobacz Find-Package (Znajdź pakiet). W Visual Studio 2013 i starszych zamiast tego użyj polecenia Get-Package.

Dostępność konsoli

Począwszy od Visual Studio 2017 r., NuGet i NuGet Menedżer pakietów są automatycznie instalowane po wybraniu dowolnego elementu . Obciążenia związane z platformą NET; Można go również zainstalować indywidualnie, sprawdzając opcję Poszczególne składniki > Narzędzia > kodu NuGet menedżera pakietów w instalatorze Visual Studio.

Ponadto, jeśli brakuje NuGet Menedżer pakietów w Visual Studio 2015 i starszych wersjach, sprawdź rozszerzenia narzędzi > i aktualizacje... i wyszukaj rozszerzenie NuGet Menedżer pakietów. Jeśli nie możesz użyć instalatora rozszerzeń w Visual Studio, możesz pobrać rozszerzenie bezpośrednio z https://dist.nuget.org/index.htmlwitryny .

Konsola Menedżer pakietów nie jest obecnie dostępna z Visual Studio dla komputerów Mac. Równoważne polecenia są jednak dostępne za pośrednictwem interfejsu wiersza polecenia NuGet. Visual Studio dla komputerów Mac ma interfejs użytkownika do zarządzania pakietami NuGet. Zobacz Dołączanie pakietu NuGet w projekcie.

Konsola Menedżer pakietów nie jest dołączona do Visual Studio Code.

Rozszerzanie konsoli Menedżer pakietów

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

Installing and using MvcScaffold

Konfigurowanie profilu programu NuGet PowerShell

Profil programu PowerShell umożliwia udostępnianie często używanych poleceń wszędzie tam, gdzie używasz programu PowerShell. NuGet obsługuje profil specyficzny dla NuGet zazwyczaj w następującej lokalizacji:

%UserProfile%\Documents\WindowsPowerShell\NuGet_profile.ps1

Aby znaleźć profil, wpisz $profile w konsoli:

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

Aby uzyskać więcej informacji, zobacz profile Windows PowerShell.

Korzystanie z interfejsu wiersza polecenia nuget.exe w konsoli programu

Aby udostępnić nuget.exe interfejs wiersza polecenia w konsoli Menedżer pakietów, zainstaluj NuGet. Pakiet CommandLine z konsoli programu :

# Other versions are available, see https://www.nuget.org/packages/NuGet.CommandLine/
Install-Package NuGet.CommandLine -Version 4.4.1