dotnet restore

Tento článek se vztahuje na: ✔️ .NET Core 3.1 SDK a novější verze

Název

dotnet restore – Obnoví závislosti a nástroje projektu.

Synopse

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

Description

Příkaz dotnet restore používá NuGet k obnovení závislostí a nástrojů specifických pro projekt, které jsou zadané v souboru projektu. Ve většině případů nemusíte příkaz explicitně používatdotnet restore, protože při spuštění následujících příkazů se implicitně spustí NuGet obnovení:

Někdy může být nepřístupné spustit implicitní NuGet obnovení pomocí těchto příkazů. Například některé automatizované systémy, jako jsou systémy sestavení, musí explicitně volat dotnet restore řízení, kdy dojde k obnovení, aby mohly řídit využití sítě. Pokud chcete zabránit implicitní NuGet obnovení, můžete --no-restore pomocí příznaku s některým z těchto příkazů zakázat implicitní obnovení.

Zadání informačních kanálů

K obnovení závislostí NuGet potřebuje informační kanály, ve kterých jsou balíčky umístěné. Informační kanály jsou obvykle poskytovány prostřednictvím konfiguračního souboru nuget.config . Při instalaci sady .NET SDK se zobrazí výchozí konfigurační soubor. Pokud chcete zadat další informační kanály, udělejte jednu z těchto věcí:

Informační kanály nuget.config můžete přepsat pomocí této -s možnosti.

Informace o používání ověřených informačních kanálů naleznete v tématu Využívání balíčků z ověřených informačních kanálů.

Globální složka balíčků

U závislostí můžete určit, kam se obnovené balíčky umístí během operace obnovení pomocí argumentu --packages . Pokud není zadáno, použije se výchozí mezipaměť balíčku NuGet, která se nachází v .nuget/packages adresáři v domovském adresáři uživatele ve všech operačních systémech. Například /home/user1 v Linuxu nebo C:\Users\user1 v Windows.

nástroje specifické pro Project

V případě nástrojů specifických pro konkrétní projekt nejprve obnoví balíček, dotnet restore ve kterém je nástroj zabalený, a pak pokračuje k obnovení závislostí nástroje, jak je uvedeno v souboru projektu.

rozdíly nuget.config

Chování dotnet restore příkazu je ovlivněno nastavením v souborunuget.config , pokud je k dispozici. Například nastavení globalPackagesFolder v nuget.config umístí obnovené NuGet balíčky do zadané složky. Toto je alternativa k zadání --packages možnosti v dotnet restore příkazu. Další informace najdete v referenčních informacích knuget.config.

Existují tři specifická nastavení, která dotnet restore ignorují:

  • bindingRedirects

    Přesměrování vazby nefungují s <PackageReference> elementy a .NET podporuje <PackageReference> pouze elementy pro balíčky NuGet.

  • Řešení

    Toto nastavení je Visual Studio specifické a nevztahuje se na .NET. .NET nepoužívá packages.config soubor a místo toho používá <PackageReference> prvky pro NuGet balíčky.

  • trustedSigners

    V sadě .NET 5.0.100 SDK byla přidána podpora pro ověření podpisu balíčku pro různé platformy.

Stažení manifestu úloh

Když spustíte tento příkaz, inicializuje asynchronní stahování reklamních manifestů pro úlohy. Pokud stahování po dokončení tohoto příkazu stále běží, stahování se zastaví. Další informace naleznete v tématu Reklamní manifesty.

Argumenty

  • ROOT

    Volitelná cesta k souboru projektu, který chcete obnovit.

Možnosti

  • --configfile <FILE>

    Konfigurační soubor NuGet (nuget.config) k použití. Pokud je zadáno, použijí se jenom nastavení z tohoto souboru. Pokud není zadána, použije se hierarchie konfiguračních souborů z aktuálního adresáře. Další informace najdete v tématu Běžné konfigurace NuGet.

  • --disable-parallel

    Zakáže paralelní obnovení více projektů.

  • --force

    Vynutí vyřešení všech závislostí, i když bylo poslední obnovení úspěšné. Zadání tohoto příznaku je stejné jako odstranění souboru project.assets.json .

  • --force-evaluate

    Vynutí obnovení k opětovnému vyhodnocení všech závislostí, i když již soubor zámku existuje.

  • -?|-h|--help

    Vytiskne popis použití příkazu.

  • --ignore-failed-sources

    Upozornit pouze na neúspěšné zdroje, pokud existují balíčky, které splňují požadavek na verzi.

  • --interactive

    Umožňuje, aby příkaz zastavil a čekal na vstup nebo akci uživatele. Například k dokončení ověřování.

  • --lock-file-path <LOCK_FILE_PATH>

    Umístění výstupu, kde je zamčený soubor zámku projektu. Ve výchozím nastavení je to PROJECT_ROOT\packages.lock.json.

  • --locked-mode

    Nepovolujte aktualizaci souboru zámku projektu.

  • --no-cache

    Určuje, že se mají požadavky HTTP ukládat do mezipaměti.

  • --no-dependencies

    Při obnovování projektu pomocí odkazů P2P (project-to-project) obnoví kořenový projekt, nikoli odkazy.

  • --packages <PACKAGES_DIRECTORY>

    Určuje adresář pro obnovené balíčky.

  • -r|--runtime <RUNTIME_IDENTIFIER>

    Určuje modul runtime pro obnovení balíčku. Slouží k obnovení balíčků pro moduly runtime, které nejsou explicitně uvedeny ve <RuntimeIdentifiers> značce v souboru .csproj . Seznam identifikátorů runtime (IDENTIFIKÁTORŮ RID) najdete v katalogu IDENTIFIKÁTORŮ RID. Zadejte více identifikátorů RID zadáním této možnosti několikrát.

  • -s|--source <SOURCE>

    Určuje identifikátor URI zdroje balíčku NuGet, který se má použít během operace obnovení. Toto nastavení přepíše všechny zdroje zadané v souborechnuget.config . Více zdrojů lze poskytnout zadáním této možnosti vícekrát.

  • --use-lock-file

    Umožňuje vygenerovat a použít soubor zámku projektu s obnovením.

  • -v|--verbosity <LEVEL>

    Nastaví úroveň podrobností příkazu. Povolené hodnoty jsou q[uiet]: , , m[inimal]n[ormal], d[etailed]a diag[nostic]. Výchozí formát je minimal. Další informace naleznete v tématu LoggerVerbosity.

Příklady

  • Obnovte závislosti a nástroje pro projekt v aktuálním adresáři:

    dotnet restore
    
  • Obnovte závislosti a nástroje pro app1 projekt nalezený v dané cestě:

    dotnet restore ./projects/app1/app1.csproj
    
  • Obnovte závislosti a nástroje projektu v aktuálním adresáři pomocí cesty k souboru poskytnuté jako zdroj:

    dotnet restore -s c:\packages\mypackages
    
  • Obnovte závislosti a nástroje projektu v aktuálním adresáři pomocí dvou cest k souborům poskytovaných jako zdroje:

    dotnet restore -s c:\packages\mypackages -s c:\packages\myotherpackages
    
  • Obnovení závislostí a nástrojů pro projekt v aktuálním adresáři zobrazující podrobný výstup:

    dotnet restore --verbosity detailed