dotnet restore

Ten artykuł dotyczy: ✔️ .NET Core 3.1 SDK i nowsze wersje

Nazwa

dotnet restore — Przywraca zależności i narzędzia projektu.

Streszczenie

dotnet restore [<ROOT>] [--configfile <FILE>] [--disable-parallel]
    [-f|--force] [--force-evaluate] [--ignore-failed-sources]
    [--interactive] [--lock-file-path <LOCK_FILE_PATH>] [--locked-mode]
    [--no-cache] [--no-dependencies] [--packages <PACKAGES_DIRECTORY>]
    [-r|--runtime <RUNTIME_IDENTIFIER>] [-s|--source <SOURCE>]
    [--use-lock-file] [-v|--verbosity <LEVEL>]

dotnet restore -h|--help

Opis

Polecenie dotnet restore używa NuGet do przywracania zależności, a także narzędzi specyficznych dla projektu określonych w pliku projektu. W większości przypadków nie trzeba jawnie używać dotnet restore polecenia, ponieważ przywracanie NuGet jest uruchamiane niejawnie w razie potrzeby podczas uruchamiania następujących poleceń:

Czasami może być niewygodne uruchomienie niejawnego NuGet przywracania za pomocą tych poleceń. Na przykład niektóre zautomatyzowane systemy, takie jak systemy kompilacji, muszą jawnie wywołać dotnet restore metodę w celu kontrolowania czasu przywracania, aby mogły kontrolować użycie sieci. Aby zapobiec niejawnej NuGet przywracania, możesz użyć --no-restore flagi z dowolnymi z tych poleceń, aby wyłączyć niejawne przywracanie.

Określanie źródeł danych

Aby przywrócić zależności, NuGet potrzebuje źródeł danych, w których znajdują się pakiety. Kanały informacyjne są zwykle dostarczane za pośrednictwem pliku konfiguracji nuget.config . Domyślny plik konfiguracji jest udostępniany podczas instalowania zestawu .NET SDK. Aby określić dodatkowe źródła danych, wykonaj jedną z następujących czynności:

Możesz zastąpić kanały informacyjnenuget.config opcją -s .

Aby uzyskać informacje o sposobie używania uwierzytelnionych źródeł danych, zobacz Korzystanie z pakietów z uwierzytelnionych źródeł danych.

Folder pakietów globalnych

W przypadku zależności można określić, gdzie przywrócone pakiety są umieszczane podczas operacji przywracania przy użyciu argumentu --packages . Jeśli nie zostanie określony, zostanie użyta domyślna pamięć podręczna pakietu NuGet, która znajduje się w .nuget/packages katalogu głównym użytkownika we wszystkich systemach operacyjnych. Na przykład /home/user1 w systemie Linux lub C:\Users\user1 w Windows.

narzędzia specyficzne dla Project

W przypadku narzędzi specyficznych dla projektu najpierw przywraca pakiet, dotnet restore w którym narzędzie jest pakowane, a następnie przywraca zależności narzędzia zgodnie z opisem w pliku projektu.

nuget.config różnice

dotnet restore Zachowanie polecenia ma wpływ na ustawienia w pliku nuget.config, jeśli istnieje. Na przykład ustawienie elementu globalPackagesFolder w nuget.config powoduje umieszczenie przywróconych pakietów NuGet w określonym folderze. Jest to alternatywa dla określenia --packages opcji w poleceniu dotnet restore . Aby uzyskać więcej informacji, zobacz dokumentacjęnuget.config.

Istnieją trzy konkretne ustawienia, które dotnet restore ignorują:

  • bindingRedirects

    Przekierowania powiązań nie działają z elementami<PackageReference>, a platforma .NET obsługuje <PackageReference> tylko elementy dla pakietów NuGet.

  • Rozwiązanie

    To ustawienie jest Visual Studio specyficzne i nie ma zastosowania do platformy .NET. Platforma .NET nie używa packages.config pliku i zamiast tego używa <PackageReference> elementów dla pakietów NuGet.

  • trustedSigners

    Dodano obsługę weryfikacji podpisu pakietu międzyplatformowego w zestawie SDK platformy .NET 5.0.100.

Pobieranie manifestu obciążenia

Po uruchomieniu tego polecenia inicjuje asynchroniczne pobieranie manifestów reklamowych dla obciążeń. Jeśli pobieranie jest nadal uruchomione po zakończeniu tego polecenia, pobieranie zostanie zatrzymane. Aby uzyskać więcej informacji, zobacz Manifesty reklamowe.

Argumenty

  • ROOT

    Opcjonalna ścieżka do pliku projektu do przywrócenia.

Opcje

  • --configfile <FILE>

    Plik konfiguracji NuGet (nuget.config) do użycia. Jeśli zostanie określony, zostaną użyte tylko ustawienia z tego pliku. Jeśli nie zostanie określony, zostanie użyta hierarchia plików konfiguracji z bieżącego katalogu. Aby uzyskać więcej informacji, zobacz Typowe konfiguracje NuGet.

  • --disable-parallel

    Wyłącza przywracanie wielu projektów równolegle.

  • --force

    Wymusza rozwiązanie wszystkich zależności, nawet jeśli ostatnie przywracanie zakończyło się pomyślnie. Określenie tej flagi jest takie samo jak usunięcie pliku project.assets.json .

  • --force-evaluate

    Wymusza przywrócenie w celu ponownego oceny wszystkich zależności, nawet jeśli plik blokady już istnieje.

  • -?|-h|--help

    Wyświetla opis sposobu używania polecenia .

  • --ignore-failed-sources

    Ostrzegaj tylko o źródłach, które zakończyły się niepowodzeniem, jeśli istnieją pakiety spełniające wymagania dotyczące wersji.

  • --interactive

    Umożliwia zatrzymanie polecenia i oczekiwanie na wprowadzenie lub działanie użytkownika. Na przykład w celu ukończenia uwierzytelniania.

  • --lock-file-path <LOCK_FILE_PATH>

    Lokalizacja wyjściowa, w której jest zapisywany plik blokady projektu. Domyślnie jest to PROJECT_ROOT\packages.lock.json.

  • --locked-mode

    Nie zezwalaj na aktualizowanie pliku blokady projektu.

  • --no-cache

    Określa, aby nie buforować żądań HTTP.

  • --no-dependencies

    Podczas przywracania projektu z odwołaniami do projektu (P2P, project-to-project) przywraca projekt główny, a nie odwołania.

  • --packages <PACKAGES_DIRECTORY>

    Określa katalog dla przywróconych pakietów.

  • -r|--runtime <RUNTIME_IDENTIFIER>

    Określa środowisko uruchomieniowe dla przywracania pakietu. Służy to do przywracania pakietów dla środowisk uruchomieniowych, które nie zostały jawnie wymienione w tagu <RuntimeIdentifiers> w pliku csproj . Aby uzyskać listę identyfikatorów środowiska uruchomieniowego (RID), zobacz wykaz identyfikatorów RID. Podaj wiele identyfikatorów ZAREZERWOWANYch, określając tę opcję wiele razy.

  • -s|--source <SOURCE>

    Określa identyfikator URI źródła pakietu NuGet do użycia podczas operacji przywracania. To ustawienie zastępuje wszystkie źródła określone w plikachnuget.config . Wiele źródeł można udostępnić, określając tę opcję wiele razy.

  • --use-lock-file

    Umożliwia wygenerowanie i użycie pliku blokady projektu z przywracaniem.

  • -v|--verbosity <LEVEL>

    Ustawia poziom szczegółowości polecenia. Dozwolone wartości to q[uiet], , n[ormal]m[inimal], d[etailed]i diag[nostic]. Wartość domyślna to minimal. Aby uzyskać więcej informacji, zobacz LoggerVerbosity.

Przykłady

  • Przywróć zależności i narzędzia dla projektu w bieżącym katalogu:

    dotnet restore
    
  • Przywróć zależności i narzędzia dla app1 projektu znalezionego w podanej ścieżce:

    dotnet restore ./projects/app1/app1.csproj
    
  • Przywróć zależności i narzędzia dla projektu w bieżącym katalogu przy użyciu ścieżki pliku podanej jako źródło:

    dotnet restore -s c:\packages\mypackages
    
  • Przywróć zależności i narzędzia dla projektu w bieżącym katalogu przy użyciu dwóch ścieżek plików dostarczonych jako źródła:

    dotnet restore -s c:\packages\mypackages -s c:\packages\myotherpackages
    
  • Przywróć zależności i narzędzia dla projektu w bieżącym katalogu pokazujące szczegółowe dane wyjściowe:

    dotnet restore --verbosity detailed