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í:
- V adresáři projektu vytvořte vlastní soubornuget.config . Další informace najdete v části Běžné konfigurace NuGet a rozdílynuget.config dále v tomto článku.
- Použijte
dotnet nugetpříkazy, jakodotnet nuget add sourceje .
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í:
-
Přesměrování vazby nefungují s
<PackageReference>elementy a .NET podporuje<PackageReference>pouze elementy pro balíčky NuGet. -
Toto nastavení je Visual Studio specifické a nevztahuje se na .NET. .NET nepoužívá
packages.configsoubor a místo toho používá<PackageReference>prvky pro NuGet balíčky. -
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
ROOTVolitelná 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-parallelZakáže paralelní obnovení více projektů.
--forceVynutí 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-evaluateVynutí obnovení k opětovnému vyhodnocení všech závislostí, i když již soubor zámku existuje.
-?|-h|--helpVytiskne popis použití příkazu.
--ignore-failed-sourcesUpozornit pouze na neúspěšné zdroje, pokud existují balíčky, které splňují požadavek na verzi.
--interactiveUmožň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-modeNepovolujte aktualizaci souboru zámku projektu.
--no-cacheUrčuje, že se mají požadavky HTTP ukládat do mezipaměti.
--no-dependenciesPř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-fileUmožň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]adiag[nostic]. Výchozí formát jeminimal. Další informace naleznete v tématu LoggerVerbosity.
Příklady
Obnovte závislosti a nástroje pro projekt v aktuálním adresáři:
dotnet restoreObnovte závislosti a nástroje pro
app1projekt nalezený v dané cestě:dotnet restore ./projects/app1/app1.csprojObnovte závislosti a nástroje projektu v aktuálním adresáři pomocí cesty k souboru poskytnuté jako zdroj:
dotnet restore -s c:\packages\mypackagesObnovte 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\myotherpackagesObnovení závislostí a nástrojů pro projekt v aktuálním adresáři zobrazující podrobný výstup:
dotnet restore --verbosity detailed