Zarządzanie pakietami NuGet za pomocą interfejsu wiersza polecenia Narzędzia NuGet
Za pomocą narzędzia interfejsu nuget.exe
wiersza polecenia można zarządzać pakietami NuGet w projektach i rozwiązaniach programu Visual Studio. W tym artykule opisano najbardziej typowe polecenia interfejsu wiersza polecenia narzędzia NuGet do zarządzania pakietami NuGet. Wszystkie te polecenia działają w systemie Windows i większość działa na komputerach Mac i w systemie Linux za pomocą platformy Mono.
Interfejs wiersza polecenia NuGet działa w projektach platformy .NET Framework i innych niż zestaw SDK, na przykład projektów w stylu innych niż ZESTAW SDK przeznaczonych dla bibliotek platformy .NET Standard. Polecenia interfejsu wiersza polecenia narzędzia NuGet mogą używać pliku project packages.config zawierającego odwołania do pakietu. W przypadku projektów w stylu innych niż SDK, które używają PackageReference
zamiast packages.config dla odwołań do pakietów, należy zamiast tego użyć interfejsu wiersza polecenia dotnet.
Uwaga
W przypadku większości projektów innych niż zestaw SDK korzystających z pliku packages.config najlepiej migrować pliki packages.config do elementu PackageReference, a następnie używać interfejsu wiersza polecenia dotnet zamiast interfejsu wiersza polecenia NuGet do zarządzania pakietami. Nie można jednak migrować projektów C++ ani ASP.NET.
W przypadku większości poleceń narzędzie interfejsu wiersza polecenia NuGet używa bieżącego katalogu, chyba że określisz inną lokalizację w poleceniu . Aby uruchomić polecenia interfejsu wiersza polecenia NuGet, otwórz wiersz polecenia i przejdź do katalogu zawierającego plik projektu.
Aby uzyskać pełną listę poleceń i ich argumentów, zobacz dokumentację interfejsu wiersza polecenia Narzędzia NuGet.
Wymagania wstępne
Pobierz interfejs wiersza polecenia Narzędzia NuGet z nuget.org. Zapisz plik nuget.exe w odpowiednim katalogu i upewnij się, że katalog znajduje się w zmiennej środowiskowej PATH.
Uwaga
Można również użyć narzędzia winget dla systemu Windows lub Homebrew dla systemu macOS.
Aby dowiedzieć się, jak wersję interfejsu wiersza polecenia NuGet, otwórz wiersz polecenia i uruchom nuget help
polecenie lub aby uniknąć konieczności przewijania w górę, użyj polecenia nuget help | more
. Pierwszy wiersz w danych wyjściowych pomocy pokazuje wersję.
Instalowanie pakietu
Polecenie instalacji interfejsu wiersza polecenia nuGet pobiera i instaluje określone pakiety NuGet.
Ważne
Polecenie install
nie modyfikuje pliku projektu ani pliku packages.config . Polecenia install
i restore
dodają tylko pakiety na dysku, ale nie dodają zależności do projektów. Aby dodać zależności projektu, dodaj pakiety za pomocą interfejsu użytkownika programu Visual Studio Menedżer pakietów lub konsoli Menedżer pakietów, a następnie uruchom install
polecenie lub restore
.
-OutputDirectory
Użyj opcji , aby zainstalować pakiety w określonym katalogu. Jeśli nie określisz katalogu wyjściowego, install
użyj bieżącego katalogu.
nuget install <packageID | configFilePath> -OutputDirectory <outputDirectory>
Aby na przykład zainstalować pakiet w Newtonsoft.json
podkatalogu packages , użyj następującego polecenia:
nuget install Newtonsoft.Json -OutputDirectory packages
Zamiast określać pakiet do zainstalowania, można określić istniejący plik packages.config w bieżącym lub innym katalogu. Polecenie install
instaluje wszystkie pakiety wymienione w pliku packages.config .
nuget install packages.config
Na przykład następujące polecenie instaluje wszystkie pakiety wymienione w podkatalogu packages.config w podkatalogu konfiguracji:
nuget install config\packages.config -OutputDirectory packages
Instalowanie określonej wersji pakietu
Polecenie install
instaluje najnowszą wersję pakietu, chyba że określono inną wersję. Aby zainstalować określoną wersję pakietu, użyj -Version
opcji:
nuget install <packageID | configFilePath> -Version <version>
Aby na przykład zainstalować wersję 12.0.1 Newtonsoft.json
pakietu, użyj polecenia:
nuget install Newtonsoft.Json -Version 12.0.1
Wyświetlanie listy pakietów
Użyj polecenia listy, aby wyświetlić listę pakietów zainstalowanych w folderach pakietów. -Source
Użyj opcji , aby ograniczyć listę.
nuget list -Source <source>
Aby na przykład wyświetlić listę pakietów w podkatalogu pakietów MyProject, użyj:
nuget list -Source C:\Users\%USERNAME%\source\repos\MyProject\packages
Możesz również użyć terminu wyszukiwania, aby wyszukać nazwy pakietów, tagi lub opisy:
nuget list <"search term"> -Source <source>
Aktualizowanie wszystkich pakietów
Użyj polecenia update, aby zaktualizować wszystkie pakiety w pliku project packages.config do najnowszych dostępnych wersji. Najlepiej uruchomić restore
polecenie przed uruchomieniem polecenia update
.
nuget update
Usuwanie pakietu
Aby usunąć pakiet, usuń ten pakiet z folderu projektu. Aby ponownie zainstalować pakiety, użyj restore
poleceń lub install
.
Usuwanie pakietów z dysku nie powoduje zaktualizowania plików project, packages.config ani NuGet.Config . Najlepszym sposobem usunięcia pakietów jest interfejs użytkownika programu Visual Studio Menedżer pakietów lub konsola Menedżer pakietów.
Przywracanie pakietów
Polecenie przywracania interfejsu wiersza polecenia NuGet pobiera i instaluje wszystkie brakujące pakiety. Polecenie działa w projektach, które używają odwołania do pakietów PackageReference lub packages.config .
Podobnie jak install
polecenie restore
, dodaje tylko pakiety na dysku, ale nie modyfikuje pliku projektu ani packages.config. Aby dodać zależności projektu, użyj interfejsu użytkownika lub konsoli programu Visual Studio Menedżer pakietów.
Aby przywrócić pakiety, uruchom następujące polecenie:
nuget restore <projectPath>
Polecenie restore
używa pliku rozwiązania lub pliku package.config w określonej ścieżce projektu.
Aby na przykład przywrócić wszystkie pakiety dla MySolution.sln w bieżącym katalogu, uruchom polecenie:
nuget restore MySolution.sln
Uwaga
W przypadku projektów innych niż zestaw SDK korzystających z programu PackageReference
użyj polecenia msbuild -t:restore , aby przywrócić pakiety.
Aby uzyskać więcej informacji, zobacz Przywracanie pakietów.