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.configpak 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:

  1. (Všechny nástroje s výjimkou nuget.exe) Zaznamenejte identifikátor balíčku a verzi do souboru projektu nebo packages.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.

  2. 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říkazy nuget.exe nebo --no-http-cache není zadán s dotnet restore. (Visual Studio a dotnet 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.
  3. 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.

  4. 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.

  5. 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í.

  6. 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 nebo web.config pokud balíček používá transformace zdrojového a konfiguračního souboru.
  7. (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!