dotnet restore
Tento článek se týká: ✔️ .NET Core 3.1 SDK a novějších verzí
Name
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 také nástrojů specifických pro projekt, které jsou zadané v souboru projektu. Ve většině případů nemusíte příkaz explicitně používat dotnet restore
, protože obnovení NuGet se v případě potřeby spouští implicitně, když spustíte následující příkazy:
Někdy může být nepohodlné spustit implicitní obnovení NuGet pomocí těchto příkazů. Například některé automatizované systémy, jako jsou systémy sestavení, musí explicitně volat dotnet restore
, aby bylo možné řídit, kdy k obnovení dojde, aby mohly řídit využití sítě. Pokud chcete implicitní obnovení NuGet zabránit, můžete implicitní obnovení zakázat pomocí příznaku --no-restore
s libovolným z těchto příkazů.
Poznámka
Ověření podepsaného balíčku během operací obnovení vyžaduje kořenové úložiště certifikátů, které je platné pro podepisování kódu i pro časové razítko. Podrobnosti najdete v tématu Ověření podepsaného balíčku NuGet .
Zadání informačních kanálů
K obnovení závislostí potřebuje NuGet informační kanály, ve kterých se balíčky nacházejí. Informační kanály se obvykle poskytují prostřednictvím konfiguračního souborunuget.config . Při instalaci sady .NET SDK je k dispozici výchozí konfigurační soubor. Pokud chcete zadat další informační kanály, proveďte jeden z následujících kroků:
- V adresáři projektu vytvořte vlastní soubornuget.config . Další informace najdete v části Běžné konfigurace NuGet a nuget.config rozdíly dále v tomto článku.
- Použijte
dotnet nuget
příkazy, jakodotnet nuget add source
je .
Informační kanály nuget.config můžete přepsat pomocí -s
možnosti .
Informace o používání ověřených informačních kanálů najdete 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 pomocí argumentu --packages
určit umístění obnovených balíčků během operace obnovení. Pokud není zadána, použije se výchozí mezipaměť balíčků 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 ve Windows.
Nástroje specifické pro projekt
U nástrojů specifických pro projekt nejprve obnoví balíček, dotnet restore
ve kterém je nástroj zabalen, a pak pokračuje obnovením 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 souboru nuget.config , pokud je k dispozici. Například nastavení globalPackagesFolder
vnuget.config umístí obnovené balíčky NuGet 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 konkrétní nastavení, která dotnet restore
ignorují:
-
Přesměrování vazeb nefunguje s
<PackageReference>
elementy a .NET podporuje<PackageReference>
pouze elementy pro balíčky NuGet. -
Toto nastavení je specifické pro Visual Studio a nevztahuje se na .NET. .NET nepoužívá
packages.config
soubor a místo toho používá<PackageReference>
elementy pro balíčky NuGet. -
V sadě .NET 5.0.100 SDK byla přidána podpora ověřování podpisů balíčků napříč platformami.
Stažení manifestu úloh
Když tento příkaz spustíte, zahájí asynchronní stahování manifestů reklamy pro úlohy na pozadí. Pokud je stahování po dokončení tohoto příkazu stále spuštěné, stahování se zastaví. Další informace najdete v tématu Manifesty reklamy.
Argumenty
ROOT
Volitelná cesta k souboru projektu, který chcete obnovit.
Možnosti
--configfile <FILE>
Konfigurační soubor NuGet (nuget.config), který se má použít. Pokud je zadáno, použijí se pouze nastavení z tohoto souboru. Pokud není zadán, použije se hierarchie konfiguračních souborů z aktuálního adresáře. Další informace najdete v tématu Běžné konfigurace NuGetu.
--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í, aby se znovu vyhodnotily všechny závislosti, i když soubor zámku již existuje.
-?|-h|--help
Vytiskne popis použití příkazu.
--ignore-failed-sources
Upozorňovat pouze na zdroje, které selhaly, pokud existují balíčky splňující požadavek na verzi.
--interactive
Umožňuje příkaz zastavit a čekat na vstup nebo akci uživatele. Například k dokončení ověřování.
--lock-file-path <LOCK_FILE_PATH>
Výstupní umístění, kam se zapisuje 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 nebudou ukládat požadavky HTTP do mezipaměti.
--no-dependencies
Při obnovování projektu pomocí odkazů P2P (project-to-project) obnovíte 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. Používá se k obnovení balíčků pro moduly runtime, které nejsou explicitně uvedeny ve
<RuntimeIdentifiers>
značce v souboru .csproj . Seznam identifikátorů runtime (RID) najdete v katalogu RID.-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 . Pokud tuto možnost zadáte vícekrát, můžete zadat více zdrojů.
--use-lock-file
Umožňuje vygenerovat soubor zámku projektu a použít je k obnovení.
-v|--verbosity <LEVEL>
Nastaví úroveň podrobností příkazu. Povolené hodnoty jsou
q[uiet]
,m[inimal]
,n[ormal]
,d[etailed]
adiag[nostic]
. Výchozí formát jeminimal
. Další informace naleznete v tématu LoggerVerbosity.
Příklady
Obnovení závislostí a nástrojů pro projekt v aktuálním adresáři:
dotnet restore
Obnovení závislostí a nástrojů pro projekt nalezených
app1
v dané cestě:dotnet restore ./projects/app1/app1.csproj
Obnovte závislosti a nástroje pro projekt v aktuálním adresáři pomocí cesty k souboru zadané jako zdroj:
dotnet restore -s c:\packages\mypackages
Obnovte závislosti a nástroje pro projekt v aktuálním adresáři pomocí dvou cest k souborům, které jsou k dispozici 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 s podrobným výstupem:
dotnet restore --verbosity detailed