Co se stane, když je nainstalovaný balíček NuGet?
Jednoduše řečeno, různé nástroje NuGet obvykle vytvářejí odkaz na balíček v souboru projektu nebo packages.config
pak provést obnovení balíčku, který efektivně nainstaluje balíček. Výjimkou je nuget install
, který pouze rozbalí balíček do packages
složky a neupravuje žádné jiné soubory.
Obecný postup:
(Všechny nástroje s výjimkou
nuget.exe
) Zaznamenejte identifikátor balíčku a verzi do souboru projektu nebopackages.config
.Pokud je instalačním nástrojem Visual Studio nebo rozhraní příkazového řádku dotnet, nástroj se nejprve pokusí balíček nainstalovat. Pokud není kompatibilní, balíček se nepřidá do souboru projektu nebo
packages.config
.Získejte balíček:
Zkontrolujte, jestli je balíček (přesný identifikátor a číslo verze) již nainstalovaný ve složce global-packages , jak je popsáno v tématu Správa globálních balíčků a složek mezipaměti.
Pokud balíček není ve složce globálních balíčků, zkuste ho načíst ze zdrojů uvedených v konfiguračních souborech. V tuto chvíli se použijí konfigurace mapování zdrojů balíčků. V případě online zdrojů se nejprve pokuste načíst balíček z mezipaměti HTTP, pokud
-NoHttpCache
není zadán příkazynuget.exe
nebo--no-http-cache
není zadán sdotnet restore
. (Visual Studio adotnet add package
vždy používat mezipaměť.) Pokud se balíček použije z mezipaměti, zobrazí se ve výstupu "CACHE". Mezipaměť má dobu vypršení platnosti 30 minut.Pokud byl balíček zadán pomocí plovoucí verze nebo bez minimální verze, NuGet kontaktuje všechny zdroje a zjistí nejlepší shodu. Příklad:
1.*
,(, 2.0.0]
.Pokud balíček není v mezipaměti HTTP, zkuste ho stáhnout ze zdrojů uvedených v konfiguraci. Pokud se balíček stáhne, zobrazí se ve výstupu "GET" a "OK". NuGet protokoluje provoz HTTP na normální úroveň podrobností.
Pokud balíček nelze úspěšně získat z žádných zdrojů, instalace v tomto okamžiku selže s chybou, například NU1103. Všimněte si, že chyby z
nuget.exe
příkazů zobrazují pouze poslední kontrolované zdroje, ale znamená to, že balíček nebyl dostupný z žádného zdroje.
Při získávání balíčku se může použít pořadí zdrojů v konfiguraci NuGet:
- NuGet kontroluje zdroje místních složek a síťových sdílených složek před kontrolou zdrojů HTTP.
Uložte kopii balíčku a další informace do složky http-cache , jak je popsáno v tématu Správa globálních balíčků a složek mezipaměti.
Pokud se stáhne, nainstalujte balíček do složky global-packages pro jednotlivé uživatele. NuGet vytvoří podsložku pro každý identifikátor balíčku a pak vytvoří podsložky pro každou nainstalovanou verzi balíčku.
NuGet podle potřeby nainstaluje závislosti balíčků. Tento proces může aktualizovat verze balíčků v procesu, jak je popsáno v řešení závislostí.
Aktualizujte ostatní soubory a složky projektu:
- U projektů používajících PackageReference aktualizujte graf závislostí balíčků uložený v
obj/project.assets.json
. Samotný obsah balíčku se nezkopíruje do žádné složky projektu. - Aktualizujte
app.config
neboweb.config
pokud balíček používá transformace zdrojového a konfiguračního souboru.
- U projektů používajících PackageReference aktualizujte graf závislostí balíčků uložený v
(jenom Visual Studio) V okně sady Visual Studio zobrazte soubor readme balíčku( pokud je k dispozici).
Užijte si produktivní kódování pomocí balíčků NuGet!