Nejčastější dotazy k NuGetu

Nejčastější dotazy týkající se NuGet.org, jako jsou NuGet.org otázky k účtu, najdete v NuGet.org nejčastějších dotazech.

OBECNÉ

Co je potřeba ke spuštění NuGetu?

Všechny informace o uživatelském rozhraní i nástrojích příkazového řádku jsou k dispozici v průvodci instalací.

Podporuje NuGet Mono?

Nástroj příkazového řádku , nuget.exesestavení a spuštění v mono 3.2+ a může vytvářet balíčky v Mono.

I když nuget.exe funguje plně ve Windows, v Linuxu a OS X jsou známé problémy. Informace najdete v tématu Mono problémy na GitHubu.

Grafický klient je k dispozici jako doplněk pro MonoDevelop.

Jak zjistím, co balíček obsahuje a jestli je pro aplikaci stabilní a užitečný?

Primárním zdrojem informací o balíčku je stránka s výpisem na nuget.org (nebo jiný soukromý informační kanál). Každá stránka balíčku na nuget.org obsahuje popis balíčku, jeho historii verzí a statistiky využití. Oddíl Informace na stránce balíčku obsahuje také odkaz na web projektu, kde obvykle najdete mnoho příkladů a další dokumentaci, které vám pomůžou zjistit, jak se balíček používá.

Další informace naleznete v tématu Hledání a výběr balíčků.

NuGet v sadě Visual Studio

Jak se NuGet podporuje v různých produktech sady Visual Studio?

Návody zkontrolujte přesnou verzi nainstalovaných nástrojů NuGet?

V sadě Visual Studio použijte příkaz Nápověda > o sadě Microsoft Visual Studio a podívejte se na verzi zobrazenou vedle Správce balíčků NuGet.

Případně spusťte konzolu Správce balíčků (Nástroje > NuGet Správce balíčků > konzolu Správce balíčků) a zadejte $host informace o NuGetu včetně verze.

Jaké programovací jazyky nuGet podporuje?

NuGet obecně funguje pro jazyky .NET a je navržený tak, aby přenesl knihovny .NET do projektu. Protože také podporuje automatizaci MSBuild a Visual Studio v některých typech projektů, podporuje také jiné projekty a jazyky v různých stupních.

Nejnovější verze NuGetu podporuje C#, Visual Basic, F#, WiX, C++ a Q#.

Jaké šablony projektů podporuje NuGet?

NuGet podporuje celou řadu šablon projektů, jako jsou Windows, Web, Cloud, SharePoint, Wix atd.

Návody balíčky aktualizací, které jsou součástí šablon sady Visual Studio?

V uživatelském rozhraní Správce balíčků přejděte na kartu Aktualizace a vyberte Aktualizovat vše nebo použijte Update-Package příkaz z konzoly Správce balíčků.

Pokud chcete aktualizovat samotnou šablonu, musíte ručně aktualizovat úložiště šablon. Viz Xavier Decoster blog o tomto tématu. Mějte na paměti, že se to provádí na vlastní nebezpečí, protože ruční aktualizace můžou šablonu poškodit, pokud nejnovější verze všech závislostí nejsou vzájemně kompatibilní.

Můžu použít NuGet mimo Visual Studio?

Ano, NuGet funguje přímo z příkazového řádku. Viz průvodce instalací a referenční informace k rozhraní příkazového řádku.

Příkazový řádek NuGet

Návody získat nejnovější verzi nástroje příkazového řádku NuGet?

Viz průvodce instalací. Pokud chcete zkontrolovat aktuální nainstalovanou verzi nástroje, použijte nuget help.

Jaká je licence pro nuget.exe?

Můžete distribuovat nuget.exe podle podmínek licence MIT. Zodpovídáte za aktualizaci a údržbu všech kopií nuget.exe, které se rozhodnete distribuovat.

Je možné rozšířit nástroj příkazového řádku NuGet?

Ano, je možné přidat vlastní příkazy do nuget.exe, jak je popsáno v Rob Reynold příspěvku k dispozici prostřednictvím Archive.org.

Konzola Správce balíčků NuGet (Visual Studio ve Windows)

Návody získat přístup k objektu DTE v konzole Správce balíčků?

Objekt nejvyšší úrovně v modelu objektu automatizace sady Visual Studio se nazývá objekt DTE (Development Tools Environment). Konzola ji poskytuje prostřednictvím proměnné s názvem $DTE. Další informace naleznete v tématu Přehled modelu automatizace v dokumentaci k rozšiřitelnosti sady Visual Studio.

Pokusím se přetypovat proměnnou $DTE na typ DTE2, ale zobrazí se chyba: Nelze převést hodnotu EnvDTE.DTEClass typu EnvDTE.DTEClass na typ EnvDTE80.DTE2. Co je?

Jedná se o známý problém s interakcí PowerShellu s objektem COM. Vyzkoušejte následující kroky:

`$dte2 = Get-Interface $dte ([EnvDTE80.DTE2])`

Get-Interface je pomocná funkce přidaná hostitelem PowerShellu NuGet.

Vytváření a publikování balíčků

Návody zobrazit seznam balíčku v informačním kanálu?

Mám více verzí knihovny, které cílí na různé verze rozhraní .NET Framework. Návody vytvořit jeden balíček, který to podporuje?

Viz podpora více verzí a profilů rozhraní .NET Framework.

Návody nastavit vlastní úložiště nebo informační kanál?

Podívejte se na přehled hostitelských balíčků.

Jak můžu hromadně nahrát balíčky do informačního kanálu NuGet?

Viz Hromadné publikování balíčků NuGet (jeffhandly.com).

Práce s balíčky

Je možné nainstalovat balíčky NuGet bez připojení k internetu?

Ano, podívejte se na blogový příspěvek Scotta Hanselmana How to access NuGet when nuget.org is down (or you're on a plane) (hanselman.com).

Návody instalovat balíčky do jiného umístění než výchozí složka balíčků?

repositoryPath Nastavte nastavení v Nuget.Config použití nuget config -set repositoryPath=<path>.

Návody se vyhnout přidání složky balíčků NuGet do správy zdrojového kódu?

Nastavte hodnotu disableSourceControlIntegration in Nuget.Config na truehodnotu . Tento klíč funguje na úrovni řešení a proto je potřeba ho $(Solutiondir)\.nuget\Nuget.Config přidat do souboru. Povolení obnovení balíčku ze sady Visual Studio automaticky vytvoří tento soubor.

Návody vypnout obnovení balíčku?

Proč se mi při instalaci místního balíčku se vzdálenými závislostmi zobrazuje chyba Nejde vyřešit chybu závislostí?

Při instalaci místního balíčku do projektu musíte vybrat zdroj Vše . Tím se agregují všechny informační kanály místo toho, aby používaly jenom jeden. Důvodem této chyby je, že uživatelé místního úložiště často chtějí zabránit náhodné instalaci vzdáleného balíčku z důvodu firemních zásady.

Mám ve stejné složce více projektů, jak můžu pro každý projekt použít samostatné soubory packages.config?

Ve většině projektů, kde samostatné projekty žijí v samostatných složkách, to není problém, protože NuGet identifikuje packages.config soubory v jednotlivých projektech. Pomocí NuGetu 3.3 nebo více projektů ve stejné složce můžete do názvů souborů packages.{project-name}.configvložit název projektu packages.config a NuGet tento soubor používá.

To není problém při použití PackageReference, protože každý soubor projektu obsahuje svůj vlastní seznam závislostí.

V seznamu úložišť nevidím nuget.org, jak se vrátím?

  • Přidání https://api.nuget.org/v3/index.json do seznamu zdrojů nebo
  • Odstraňte %appdata%\.nuget\NuGet.Config (Windows) nebo ~/.nuget/NuGet/NuGet.Config (Mac/Linux) a nechte NuGet znovu vytvořit.

Migroval(a) jsem na PackageReference, proč můj build selhává, protože tento projekt odkazuje na balíčky NuGet, které v tomto počítači chybí?

V projektech packages.config by při instalaci balíčku s build props nebo cíli nuGet přidal EnsureNuGetPackageBuildImports cíl k ověření importu obsahu msbuild balíčků před sestavením. target Pokud byl změněn ručně, NuGet nemusí být schopen zjistit, že je potřeba odebrat při migraci.

Pokud je projekt a v souboru projektu stále máte PackageReference tento cíl, měli byste ho bezpečně odebrat.