Nejčastější dotazy k NuGetNuGet frequently-asked questions

Nejčastější dotazy týkající se NuGet.org, například otázky k účtu NuGet.org, najdete v článku NuGet.org Nejčastější dotazy.For frequently-asked questions pertaining to NuGet.org, such as NuGet.org account questions, see NuGet.org frequently-asked questions.

Co je potřeba ke spuštění NuGet?What is required to run NuGet?

Všechny informace o uživatelském rozhraní a nástrojích příkazového řádku jsou k dispozici v instalační příručce.All the information around both UI and command-line tools is available in the Install guide.

Podporuje NuGet mono?Does NuGet support Mono?

Nástroj příkazového řádku, nuget.exe, vytvoří a spustí v mono 3.2 + a může vytvářet balíčky v mono.The command-line tool, nuget.exe, builds and runs under Mono 3.2+ and can create packages in Mono.

I nuget.exe když funguje plně ve Windows, jsou známé problémy v systémech Linux a OS X. Projděte si informace o problémech mono na GitHubu.Although nuget.exe works fully on Windows, there are known issues on Linux and OS X. Refer to Mono issues on GitHub.

Grafický klient je k dispozici jako doplněk pro MonoDevelop.A graphical client is available as an add-in for MonoDevelop.

Jak zjistím, co balíček obsahuje a jestli je pro moji aplikaci stabilní a užitečný?How can I determine what a package contains and whether it's stable and useful for my application?

Primární zdroj pro učení o balíčku je jeho stránka se seznamem na nuget.org (nebo jiném privátním informačním kanálu).The primary source for learning about a package is its listing page on nuget.org (or another private feed). Každá stránka balíčku v nuget.org obsahuje popis balíčku, jeho historii verzí a statistiku využití.Each package page on nuget.org includes a description of the package, its version history, and usage statistics. Část informace na stránce balíček 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á.The Info section on the package page also contains a link to the project's web site where you typically find many examples and other documentation to help you learn how the package is used.

Další informace najdete v tématu vyhledání a výběr balíčků.For more information, see Finding and choosing packages.

NuGet v aplikaci Visual StudioNuGet in Visual Studio

Jak se podporuje NuGet v různých produktech sady Visual Studio?How is NuGet supported in different Visual Studio products?

Návody ověřit přesnou verzi nástrojů NuGet, které jsou nainstalované?How do I check the exact version of the NuGet tools that are installed?

V aplikaci Visual Studio použijte nápovědu > o Microsoft Visual Studio příkaz a podívejte se na verzi zobrazenou vedle Správce balíčků NuGet.In Visual Studio, use the Help > About Microsoft Visual Studio command and look at the version displayed next to NuGet Package Manager.

Případně můžete spustit konzolu Správce balíčků (Nástroje > Správce balíčků NuGet > konzolu Správce balíčků) a $host zadáním zobrazíte informace o NuGet včetně verze.Alternatively, launch the Package Manager Console (Tools > NuGet Package Manager > Package Manager Console) and enter $host to see information about NuGet including the version.

Jaké programovací jazyky podporuje NuGet?What programming languages are supported by NuGet?

NuGet je obecně funkční pro jazyky .NET a je navržena k převedení knihoven .NET do projektu.NuGet generally works for .NET languages and is designed to bring .NET libraries into a project. Protože podporuje také automatizaci nástroje MSBuild a sady Visual Studio v některých typech projektů, podporuje také jiné projekty a jazyky do různých stupňů.Because it also supports MSBuild and Visual Studio automation in some project types, it also supports other projects and languages to various degrees.

Nejnovější verze NuGet podporuje C#, Visual Basic, F#, WIX a. C++The most recent version of NuGet supports C#, Visual Basic, F#, WiX, and C++.

Jaké šablony projektů podporuje NuGet?What project templates are supported by NuGet?

NuGet má plnou podporu pro celou řadu šablon projektů, jako jsou Windows, web, Cloud, SharePoint, WIX a tak dále.NuGet has full support for a variety of project templates like Windows, Web, Cloud, SharePoint, Wix, and so on.

Návody balíčky aktualizací, které jsou součástí šablon sady Visual Studio?How do I update packages that are part of Visual Studio templates?

V uživatelském rozhraní Správce balíčků otevřete kartu aktualizace a vyberte Aktualizovat vše Update-Package nebo použijte příkaz z konzoly Správce balíčků.Go to the Updates tab in the Package Manager UI and select Update All, or use the Update-Package command from the Package Manager Console.

Chcete-li aktualizovat vlastní šablonu, je nutné ručně aktualizovat úložiště šablon.To update the template itself, you need to manually update the template repository. Podívejte se na blog Xavier pro denákle na tomto předmětu.See Xavier Decoster's blog on this subject. Všimněte si, že se jedná o vlastní riziko, protože ruční aktualizace mohou poškodit šablonu, pokud není nejnovější verze všech závislostí vzájemně kompatibilní.Note that this is done at your own risk, because manual updates might corrupt the template if the latest version of all dependencies are not compatible with each other.

Můžu použít NuGet mimo Visual Studio?Can I use NuGet outside of Visual Studio?

Ano, NuGet funguje přímo z příkazového řádku.Yes, NuGet works directly from the command line. Přečtěte si příručku k instalaci a odkaz CLI.See the Install guide and the CLI reference.

Příkazový řádek NuGetNuGet command line

Návody získat nejnovější verzi nástroje příkazového řádku NuGet?How do I get the latest version of NuGet command line tool?

Projděte si příručku Instalace.See the Install guide. Chcete-li zjistit aktuální nainstalovanou verzi nástroje, použijte nuget help.To check the current installed version of the tool, use nuget help.

Jaká je licence pro NuGet. exe?What is the license for nuget.exe?

Je možné znovu distribuovat NuGet. exe za podmínek licence MIT.You are allowed to redistribute nuget.exe under the terms of the MIT license. Zodpovídáte za aktualizaci a obsluhu všech kopií nástroje NuGet. exe, který se rozhodnete znovu distribuovat.You are responsible for updating and servicing any copies of nuget.exe that you choose to redistribute.

Je možné nástroj příkazového řádku NuGet zvětšit?Is it possible to extend the NuGet command line tool?

Ano, do nuget.exeje možné přidat vlastní příkazy, jak je popsáno v příspěvku na Rob Reynold.Yes, it's possible to add custom commands to nuget.exe, as described in Rob Reynold's post.

Konzola správce balíčků NuGet (Visual Studio ve Windows)NuGet Package Manager Console (Visual Studio on Windows)

Návody získat přístup k objektu DTE v konzole správce balíčků?How do I get access to the DTE object in the Package Manager console?

Objekt nejvyšší úrovně v objektovém modelu automatizace sady Visual Studio se nazývá objekt DTE (vývojové nástroje prostředí).The top-level object in the Visual Studio automation object model is called the DTE (Development Tools Environment) object. Konzola poskytuje tuto proměnnou prostřednictvím proměnné s názvem $DTE.The console provides this through a variable named $DTE. Další informace najdete v tématu Přehled modelu automatizace v dokumentaci rozšiřitelnosti sady Visual Studio.For more information, see Automation Model Overview in the Visual Studio Extensibility documentation.

Snažím se přetypovat $DTE proměnnou na typ DTE2, ale zobrazí se chyba: Hodnotu "EnvDTE. DTEClass" typu "EnvDTE. DTEClass" nelze převést na typ "EnvDTE80. DTE2". Co je?I try to cast the $DTE variable to the type DTE2, but I get an error: Cannot convert the "EnvDTE.DTEClass" value of type "EnvDTE.DTEClass" to type "EnvDTE80.DTE2". What's wrong?

Jedná se o známý problém s tím, jak prostředí PowerShell spolupracuje s objektem COM.This is a known issue with how PowerShell interacts with a COM object. Vyzkoušejte následující:Try the following:

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

Get-Interfaceje pomocná funkce, kterou přidal hostitel PowerShellu NuGet.Get-Interface is a helper function added by the NuGet PowerShell host.

Vytváření a publikování balíčkůCreating and publishing packages

Návody seznam můj balíček v informačním kanálu?How do I list my package in a feed?

Viz Vytvoření a publikování balíčku.See Creating and publishing a package.

Mám více verzí knihovny, která cílí na různé verze .NET Framework. Návody sestavit jeden balíček, který tuto podporu podporuje?I have multiple versions of my library that target different versions of the .NET Framework. How do I build a single package that supports this?

Viz Podpora více .NET Framework verzí a profilů.See Supporting Multiple .NET Framework Versions and Profiles.

Návody nastavit vlastní úložiště nebo informační kanál?How do I set up my own repository or feed?

Podívejte se na téma Přehled hostujících balíčků.See the Hosting packages overview.

Jak mohu hromadně nahrávat balíčky do svého informačního kanálu NuGet?How can I upload packages to my NuGet feed in bulk?

Viz hromadné publikování balíčků NuGet (jeffhandly.com).See Bulk publishing NuGet packages (jeffhandly.com).

Práce s balíčkyWorking with packages

Jaký je rozdíl mezi balíčkem na úrovni projektu a balíčkem na úrovni řešení?What is the difference between a project-level package and a solution-level package?

Balíček na úrovni řešení (NuGet 3. x +) je v řešení nainstalovaný jenom jednou a pak je k dispozici pro všechny projekty v řešení.A solution-level package (NuGet 3.x+) is installed only once in a solution and is then available for all projects in the solution. Balíček na úrovni projektu je nainstalován v každém projektu, který ho používá.A project-level package is installed in each project that uses it. Balíček na úrovni řešení může také nainstalovat nové příkazy, které lze volat v konzole správce balíčků.A solution-level package might also install new commands that can be called from within the Package Manager Console.

Je možné balíčky NuGet nainstalovat bez připojení k Internetu?Is it possible to install NuGet packages without Internet connectivity?

Ano, další informace o tom, jak získat přístup k nugetu v případě nedostatku NuGet.org (nebo jste na rovině) (Hanselman.com), najdete v blogovém příspěvku Scott Hanselman.Yes, see Scott Hanselman's Blog post How to access NuGet when nuget.org is down (or you're on a plane) (hanselman.com).

Návody instalovat balíčky v jiném umístění než výchozí složka balíčků?How do I install packages in a different location from the default packages folder?

repositoryPath Nastavte nastaveníNuget.Config pomocí .nuget config -set repositoryPath=<path>Set the repositoryPath setting in Nuget.Config using nuget config -set repositoryPath=<path>.

Návody se vyhnout přidání složky balíčků NuGet do správy zdrojového kódu?How do I avoid adding the NuGet packages folder into to source control?

Nastavte na disableSourceControlIntegration. Nuget.Config trueSet the disableSourceControlIntegration in Nuget.Config to true. Tento klíč funguje na úrovni řešení, a proto musí být do $(Solutiondir)\.nuget\Nuget.Config souboru přidán.This key works at the solution level and hence need to be added to the $(Solutiondir)\.nuget\Nuget.Config file. Povolením obnovení balíčku ze sady Visual Studio se tento soubor automaticky vytvoří.Enabling package restore from Visual Studio creates this file automatically.

Návody vypnout obnovení balíčků?How do I turn off package restore?

Viz povolení a zakázání obnovení balíčku.See Enabling and disabling package restore.

Proč se při instalaci místního balíčku se vzdálenými závislostmi zobrazí chybová zpráva "nelze vyřešit chybu závislostí?"Why do I get an "Unable to resolve dependency error" when installing a local package with remote dependencies?

Při instalaci místního balíčku do projektu je nutné vybrat možnost všechny zdroje.You need to select the All source when installing a local package into the project. Tato část agreguje všechny informační kanály namísto použití jediného.This aggregates all the feeds instead of using just one. Důvodem této chyby je, že uživatelé místního úložiště často chtějí vyhnout nechtěné instalaci vzdáleného balíčku kvůli podnikovým zásadám.The reason this error appears is that users of a local repository often want to avoid accidentally installing a remote package due to corporate polices.

Ve stejné složce mám více projektů, jak můžu použít samostatné soubory Packages. config pro každý projekt?I have multiple projects in the same folder, how can I use separate packages.config files for each project?

Ve většině projektů, kde samostatné projekty jsou v samostatných složkách živé, to není problém, protože NuGet identifikuje packages.config soubory v jednotlivých projektech.In most projects where separate projects live in separate folders, this is not a problem as NuGet identifies the packages.config files in each project. Pomocí NuGet 3.3 + a více projektů ve stejné složce můžete vložit název projektu do packages.config názvů souborů pomocí vzoru packages.{project-name}.configa nástroj NuGet tento soubor použije.With NuGet 3.3+ and multiple projects in the same folder, you can insert the name of the project into the packages.config filenames use the pattern packages.{project-name}.config, and NuGet uses that file.

Nejedná se o problém při použití PackageReference, protože každý soubor projektu obsahuje vlastní seznam závislostí.This is not an issue when using PackageReference, as each project file contains its own list of dependencies.

V seznamu úložišť nevidím nuget.org, jak se dá získat zpátky?I don't see nuget.org in my list of repositories, how do I get it back?

  • Přidejte https://api.nuget.org/v3/index.json do seznamu zdrojů neboAdd https://api.nuget.org/v3/index.json to your list of sources, or
  • Odstraňte %appdata%\.nuget\NuGet.Config (Windows) nebo ~/.nuget/NuGet/NuGet.Config (Mac/Linux) a umožněte novému vytvoření NuGet.Delete %appdata%\.nuget\NuGet.Config (Windows) or ~/.nuget/NuGet/NuGet.Config (Mac/Linux) and let NuGet re-create it.