Как установить пакет nuget в visual studio
Вместо создания своих собственных библиотек и определения своего собственного функционала мы можем использовать уже ранее созданные другими разработчиками библиотеки и добавить их свой проект. Для управления внешними библиотеками в виде отдельных пакетов Microsoft предоставляет специальный менеджер пакетов под названием Nuget .
Физически NuGet-пакет представляет единый архивный файл с расширением .nupkg, который содержит скомпилированный код в виде библиотек dll и других файлов, используемых в коде. Также пакет включает некоторое описание в виде номера версии и вспомогательной информации.
Для упрощения работы с пакетами, их распространенния Microsoft организовал глобальный репозиторий пакетов в виде сервиса nuget.org . И если разработчик хочет поделиться своими наработками, он может загрузить свой код в виде Nuget-пакета в этот репозиторий, а другие разработчики могут скачать этот пакет и использовать его в свой программе. Посмотрим, как устанавливать Nuget-пакеты и использовать их в своем проекте. Прежде всего стоит отметить, что есть различные способы установки пакетов. В данном случае рассмотрим установку пакетов с помощью .NET CLI и в Visual Studio.
Установка nuget-пакетов с помощью .NET CLI
Если мы компилируем приложение непосредственно с помощью .NET CLI без каких-нибудь сред разработки типа Visual Studio, то мы можем воспользоваться встроенными инструментами, которые имеются в .NET SDK.
Для примера создадим с помощью .NET CLI новый проект консольного приложения:
Для примера возьмем такой популярный Nuget-пакет как Newtonsoft.Json , который предназначен для работы с кодом json. Для этого перейдем в терминале к расположению проекта и выполним команду:
После команды dotnet add package указывается имя пакета:
если после этого мы откроем файл конфигурации проекта с расширением csproj , то встретим там элемент PackageReference , который представляет добавленный пакет
Здесь мы видим атрибут Include , который указывает на название пакета для включения в проект, и атрибут Version — версию пакета.
Пакет добавили, теперь используем его. Для этого определим следующий код программы:
С помощью вызова статического метода JsonConvert.SerializeObject(tom) сериализуем объект tom в код json и потом этот код выводим на консоль.
Запустим проект командой dotnet run и посмотрим на результат программы:
Таким образом, мы установили в проект Nuget-пакет и использовали его функциональность в своей программе. Если впоследствии пакет станет не нужен, то его можно удалить командой:
После команды dotnet remove package указывается название удаляемого пакета.
Установка пакета в Visual Studio
Visual Studio обладает богатым функционалом в плане работы с nuget-пакетами. Так, возьмем также простейший проект консольного приложения и добавим в него тот же пакет Newtonsoft.Json . Для этого нажмем правой кнопкой на название проекта и в контекстном меню выберем Manage NuGet Packages. :
Нам откроется встроенный менеджер пакетов Nuget:
Для упрощения поиска нужного пакета введем название пакета в поле поиска. После этого список пакетов обновится. И обычно первый пакет в этом списке тот, который нужен. При необходимости в правой части мы можем посмотреть информацию о пакете.
Итак, нажмем на кнопку Install для его установки. Далее может отобразиться дополнительное окно для просмотра пакетов, которые непосредственно будут установлены:
После установки в структуре проекта появится узел Packages с установленным пакетом, и соответствующая запись будет внесена в файл конфигурации проекта:
И теперь мы также сможем использовать функциональность пакета в программе.
В качестве альтернативы для добавления пакетов можно использовать Package Manager Console . Для этого в меню Visual Studio перейдем к пункту Tools -> NuGet Package Manager -> Package Manager Console . И в открывшемся внизу в Visual Studio окне Package Manager Console введем команду:
Формат: после команды Install-Package указывается название устанавливаемого пакета.
Introduction to NuGet
NuGet is a package manager that delivers compiled source code (DLLs) and other files (scripts and images) related to code. A NuGet package takes the form of a zip file with the extension .nupkg. This makes adding, updating, and removing libraries easy in Visual Studio applications. Using NuGet to install and update packages reduces the manual work of configuring third-party libraries in an application by installing a setup or extracting a zip file and adding the required assemblies to references and files.
Configure the NuGet feed
What is the feed link?
The feed link is a URL that is the location of the NuGet package published in the localhost or local directory. You can get a package only through a feed link from the host.
How to configure the feed
By default, Visual Studio is configured with the public NuGet feed link.
To configure the private feed link or a local path in Visual Studio, follow these steps:
- In Visual Studio, go to Tools > Options and then select Package Sources under the NuGet Package Manager.
- Choose the Add icon (+), edit the Name, and then provide the feed link or local path in the Source Click Update after updating the feed link.
NuGet Package Manager
The NuGet Package Manager in Visual Studio on Windows allows you to easily install, uninstall, and update NuGet packages in projects and solutions.
Install a third-party NuGet package
- In Solution Explorer, right-click either Solution, a project, or the References in a project, and then select Manage NuGet Packages.
- The Browse tab displays packages by popularity from the currently selected source. Search for a specific package using the search box at the top-left corner. Select a package from the list to display its information, which also makes the Install button available along with a drop-down for selecting a package version.
- Select the desired version from the drop-down, and then click Install. Now, Visual Studio installs the package and its dependencies into the project. You may be asked to accept license terms and shown the list of NuGet packages, including dependencies, in a Preview Changes When installation is completed, the added packages appear in the Installed tab. Packages are also listed in the References either as assemblies or package references, indicating that you can refer to them in the project using statements.
Install beta NuGet packages
By default, prerelease-versioned packages are not available when searching NuGet. Only stable versions are available. If you want to include prerelease versions in your search, select the Include prerelease option next to the search box.
Install NuGet packages without dependencies
By default, when installing NuGet packages, corresponding package dependencies will also be installed in your project. To avoid the installation of dependent packages, choose the Ignore Dependencies option in the Dependency behavior drop-down in NuGet Package Manager.
Uninstall a NuGet package
- In Solution Explorer, right-click either the Solution, the desired project, or the References in the project, and then select Manage NuGet Packages.
- Select the Installed
- Select the package to uninstall (use search to filter the list if necessary), and then select Uninstall.
Remove dependencies when uninstalling NuGet packages
To uninstall the dependency packages of a selected NuGet package, choose the Remove Dependencies option from the NuGet Package Manager.
Update NuGet packages
- In Solution Explorer, right-click either the Solution, the desired project, or the References of the project, and then select Manage NuGet Packages.
- Select the Updates tab to see the packages that have updates available from the selected package sources. Select the Include prerelease check box if you want to include prerelease package versions.
- You have two options here: If you want to update all the updates that are available, select the Select all packages check box, and then click the Update If you want to update a specific package, select the package and desired version from the drop-down on the right, and then click the Update button.
Restore NuGet packages
Package Restore installs the direct dependencies of a project as needed and then installs any dependencies of these packages throughout the entire dependency graph. When the project is opened or compiled, all the added NuGet packages will be restored. Follow these steps to use this feature:
- Navigate to Tools > Options > NuGet Package Manager > General, and then select the Allow NuGet to download missing packages check box under Package Restore.
- In Solution Explorer, right-click the solution, and then select Restore NuGet Packages.
Clear NuGet packages
Clear NuGet packages is an action that removes already installed NuGet caches from the cache location. Usually the NuGet packages are installed from the cache location if one exists, otherwise it will be downloaded from the corresponding feed in the cache location.
Why do we need to clear NuGet?
If you encounter package installation problems or if you want to ensure that you’re installing packages that have been configured locally (your own packages), clear the NuGet cache in the cache location to resolve the issues.
How to clear NuGet
You can clear NuGet by following one of these ways:
- Manually remove the NuGet cache from this location: (%userprofile%\.nuget\packages).
- Clear the cache automatically through Visual Studio by choosing the following option: Go to Tools > NuGet Package Manager > General, and then click Clear All NuGet Cache(s).
Package Manager Console
The NuGet Package Manager Console uses NuGet PowerShell commands to find, install, uninstall, restore, and update NuGet packages. The console is built into Visual Studio on Windows.
- Open your project or solution in Visual Studio, and then open the Package Manager Console in Visual Studio by navigating to Tools > NuGet Package Manager > Package Manager Console.
- By default, console commands operate against a specific package source and project as set in the control at the top of the window. To manage package sources, select the gear icon. This is a shortcut to Tools > Options > NuGet Package Manager > Package Sources.
Install a NuGet package
Install a package using the console by entering the following command:
Install-Package <Package Name> -Version <version>
Example:
Install a beta NuGet package
If you want to install a beta (prerelease) NuGet package using the console, include -IncludePrerelease in the command:
Install-Package <Package Name> -Version <version> Example: IncludePrerelease
Install a NuGet package without dependencies
Install-Package <Package Name> -Version <version> Example: IgnoreDependencies
If you want to install a package without dependencies using the console, use -IgnoreDependencies in the command:
Uninstall-Package <Package Name> Example:
Uninstall a NuGet package
To uninstall a package from the project through the console, use the following command:
Uninstall-Package <Package Name> -Version <Version> -RemoveDependencies Example:
Remove dependencies when uninstalling a NuGet package
To remove the dependencies of a selected package when uninstalling it through the console, use -RemoveDependencies in the uninstall command.
Update-Package [Example: Package Name] <string> [-Version] <string> [-IgnoreDependencies]
Update NuGet packages
The Update-Package command is used to upgrade or downgrade an existing package in your project.
Update-Package [Package Name] <string> [-Version] <string> [-IgnoreDependencies] [-IncludePrerelease] Example:
Update beta NuGet packages
To update prerelease (beta) packages, use the following command:
NuGet CLI
The NuGet CLI tool allows you to easily update and restore NuGet packages in projects and solutions. To execute NuGet CLI commands, you must have the nuget.exe file. You can download it from nuget.org.
The NuGet CLI requires a packages.config file for package references. This should be placed in the project location.
Open the command prompt, and then navigate to the directory that contains the project file to execute the NuGet CLI commands.
Install a package
The install command downloads and installs the package into the project from specified package sources. When installing the package, it is placed in the project’s root directory by default.
Use the following command to install a NuGet package in the packages folder:
Example
Install a package with a specific version
NuGet installs the latest version of a package when using the install command unless you specify the package version. Specify the version in the install command to install a specific version of the package.
uninstall-package <Package Name> Example
Uninstall a NuGet package
The uninstall-package command removes a NuGet package from the project.
uninstall-package <Package Name> -Force Example
Uninstall dependent NuGet packages
When uninstalling a NuGet package that depends on other packages, use the -Force command.
nuget restore <SolutionFile> Example:
Nuget Restore
To restore the solution with the help of the NuGet CLI, use the restore command. It will restore all the packages available in the package.config.
Restore only adds packages to the disk; it does not change a project’s dependencies. To restore a project’s dependencies, modify packages.config and then use the restore command.
dotnet CLI
The dotnet CLI allows you to easily install, uninstall, and update NuGet packages in projects and solutions. It runs on Windows, Mac OS X, and Linux.
dotnet add package <Package Name> Example
Open a command prompt, and then navigate to the directory that contains the project file. Use the following dotnet CLI commands to perform the respective operations:
Install a package
Use the add package command to add a package into the project references:
dotnet add package <Package Name> <Version> Example
Install a specific version of a package
If a version is not specified, NuGet installs the latest version of the package. You can also use the dotnet add package command to install a specific version of a NuGet package:
dotnet remove package <Package Name> Example
Remove a package
The remove package command removes a package reference from a project file:
dotnet restore [Project|Solution] Example
Restore a package
To restore a package, use the dotnet restore command. It restores the project references from the current directory:
Conclusion
I hope this blog enriched your knowledge about managing NuGet packages in .NET projects. Try out these different approaches and let us know how they worked out for you in the comments section below.
Syncfusion also makes its components available as NuGet packages on NuGet.org. You can use them when using any Syncfusion components in your projects. Syncfusion has about 1000 components in various platforms such as
If you encounter any issues when using them, please feel free to reach out to us through our support forum, Direct-Trac, or feedback portal. We are happy to assist you!
Install NuGet Packages in Visual Studio
Join the DZone community and get the full member experience.
Introduction
NuGet packages are pre-defined pieces of code which are reusable for other developers. You can add a NuGet package to your project and use it’s functionality wherever you want in your project. We can also say that NuGet behaves like a platform, where developers can create and share code with the world. It contains code that’s compiled as DLL which is nearly impossible to decrypt.
Prerequisites
- Visual Studio
Step 1: Create a Project
- We can install NuGet packages in any .NET project which supports the same target framework as our project.
- For this demo, I’m using a standard MVC Project.
Step 2: Open the NuGet Package Manager
Now, there are two options for opening the Nuget Package Manager window.
Select Tools > Nuget Package Manager > Manage Nuget Packages for Solution.
2. Go to your Solution Explorer, right-click on References, and choose Manage NuGet Packages.
Step 3: Search and Install Your Required NuGet Package
- In this window, you can search for, install, uninstall and update any Nuget Package. You can also see a full list of your installed NuGet packages.
- Once you click on the Install button and click on ‘I Agree’ in the permissions pop-up window, then that particular package will be installed/added to your project.
- Here, I am installing the EntityFramwork Nuget Package.
Once the package is installed successfully, this message will be displayed.
Here, You can see your installed project. Go to Solution Explorer > Reference, and expand it.
Now you can access that package/code from your project.
Note: You can also install NuGet packages for multiple projects at the same time and in the same place.
Installing NuGet Using the Package Manager Console
Step 1: Select Tools > NuGet Package Manager > Package Manager Console
It will open the console at the bottom of the window.
Step 2: Select Your Project and Execute the Below Command to Install the Package
If your command is valid, then the package will be installed in your project.
Name already in use
docs.microsoft.com-nuget.ru-ru / docs / consume-packages / install-use-packages-visual-studio.md
- Go to file T
- Go to line L
- Copy path
- Copy permalink
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents
Copy raw contents
Copy raw contents
Устанавливайте пакеты и управляйте ими непосредственно в Visual Studio с помощью диспетчера пакетов NuGet.
С помощью пользовательского интерфейса диспетчера пакетов NuGet в Visual Studio вы можете легко устанавливать, удалять и обновлять пакеты NuGet в проектах и решениях в ОС Windows. Если вы используете Visual Studio для Mac, см. руководство по включению пакета NuGet в проект. Пользовательский интерфейс диспетчера пакетов не входит в Visual Studio Code.
[!NOTE] Если у вас нет диспетчера пакетов NuGet в Visual Studio 2015, щелкните Средства > Расширения и обновления и найдите расширение Диспетчер пакетов NuGet. Если вы не можете использовать установщик расширений в Visual Studio, скачайте расширение отсюда: https://dist.nuget.org/index.html.
Начиная с Visual Studio 2017, NuGet и диспетчер пакетов NuGet автоматически устанавливаются с любыми рабочими нагрузками, связанными с .NET. Установите его отдельно, щелкнув Отдельные компоненты > Средства для работы с кодом > Диспетчер пакетов NuGet в установщике Visual Studio.
Поиск и установка пакета
В обозревателе решений щелкните правой кнопкой мыши Ссылки или сам проект и выберите Управление пакетами NuGet.
На вкладке Обзор по популярности отображаются пакеты из выбранного в данный момент источника (см. подробнее об источниках пакетов). Выполните поиск определенного пакета с помощью поля поиска в левом верхнем углу. Выберите пакет в списке, чтобы отобразить сведения о нем. Это также активирует кнопку Установить и раскрывающийся список для выбора версии.
Выберите нужную версию в раскрывающемся списке и щелкните Установить. Visual Studio установит пакет и его зависимости в проект. Может появиться запрос на принятие условий лицензионного соглашения. После завершения установки добавленные пакеты отобразятся на вкладке Установленные. Пакеты также перечислены в узле Ссылки обозревателя решений. Это значит, что их можно указывать в проекте с помощью инструкций using .
[!Tip] Чтобы включить предварительные версии в поиск и сделать их доступными в раскрывающемся списке версий, щелкните Включить предварительные версии.
В обозревателе решений щелкните правой кнопкой мыши Ссылки или сам проект и выберите Управление пакетами NuGet.
Откройте вкладку Установленные.
Выберите пакет для удаления (при необходимости используйте поиск, чтобы отфильтровать список) и щелкните Удалить.
Обратите внимание, что элементы управления Включить предварительные версии и Источник пакета не применяются при удалении пакетов.
В обозревателе решений щелкните правой кнопкой мыши Ссылки или сам проект и выберите Управление пакетами NuGet. (В проектах веб-сайтов щелкните правой кнопкой мыши папку Bin.)
Перейдите на вкладку Обновления, чтобы просмотреть пакеты, для которых доступны обновления из выбранных источников пакетов. Выберите Включить предварительные версии, чтобы включить предварительные версии пакетов в список обновлений.
Последовательно выберите пакет для обновления и нужную версию в раскрывающемся списке справа, а затем щелкните Обновить.
Для некоторых пакетов отключена кнопка Обновить. При этом появляется сообщение «На этот пакет неявно ссылается пакет SDK» (AutoReferenced). Это сообщение означает, что пакет является частью более крупной платформы или пакета SDK и не должен обновляться отдельно. (Такие пакеты отмечаются атрибутом <IsImplicitlyDefined>True</IsImplicitlyDefined> ). Например, Microsoft.NETCore.App является частью пакета SDK для .NET Core, и версия пакета не совпадает с версией платформы среды выполнения, используемой приложением. Необходимо обновить установку .NET Core, чтобы получить новые версии ASP.NET Core и среды выполнения .NET Core. См. подробнее о метапакетах и управлении версиями .NET Core. Это относится к следующим часто используемым пакетам:
- Microsoft.AspNetCore.All
- Microsoft.AspNetCore.App
- Microsoft.NETCore.App
- NETStandard.Library
Чтобы обновить несколько пакетов до последних версий, выберите их в списке и нажмите кнопку Обновить, расположенную над списком.
Кроме того, можно обновить отдельный пакет на вкладке Установленные. В этом случае сведения о пакете будут содержать средство выбора версии (зависит от параметра Включить предварительные версии) и кнопку Обновить.
Управление пакетами для решения
Управление пакетами для решения — это удобный способ одновременно работать с несколькими проектами.
Выберите команду меню Средства > Диспетчер пакетов NuGet > Управление пакетами NuGet для решения или щелкните правой кнопкой мыши решение и выберите Управление пакетами NuGet.
При управлении пакетами для решения пользовательский интерфейс позволяет выбрать проекты, затрагиваемые операциями.
Разработчики обычно предпочитают не использовать разные версии одного и того же пакета NuGet в разных проектах в одном решении. Когда вы выбираете управление пакетами для решения, в пользовательском интерфейсе диспетчера пакетов появляется вкладка Консолидация, на которой вы можете отслеживать использование пакетов с разными номерами версий разными проектами в решении.
В этом примере проект ClassLibrary1 использует EntityFramework 6.2.0, а ConsoleApp1 использует EntityFramework 6.1.0. Для консолидации версий пакета сделайте следующее:
- Выберите проекты для обновления в списке проектов.
- Выберите версию, которая будет использоваться во всех проектах в элементе управления Версия, например EntityFramework 6.2.0.
- Нажмите кнопку Установить.
Диспетчер пакетов устанавливает выбранную версию пакета во все выбранные проекты. После этого пакет больше не будет отображаться на вкладке Консолидация.
Чтобы изменить источник, из которого Visual Studio получает пакеты, выберите его в средстве выбора источника.
Для управления источниками пакетов сделайте следующее:
Щелкните значок Параметры в пользовательском интерфейсе диспетчера пакетов, как показано ниже, или выберите Средства > Параметры и прокрутите до пункта Диспетчер пакетов NuGet.
Выберите узел Источники пакетов.
Чтобы добавить источник, выберите + , измените имя, введите URL-адрес или путь в элементе управления Источник и щелкните Обновить. Источник отобразится в раскрывающемся списке для выбора.
Чтобы изменить источник пакета, выберите его, внесите изменения в поля Имя и Источник и щелкните Обновить.
Чтобы отключить источник пакета, снимите флажок слева от имени в списке.
Чтобы удалить источник пакета, выберите его и нажмите кнопку X.
Использование кнопок со стрелками вверх и вниз не меняет приоритетный порядок источников пакетов. Visual Studio игнорирует порядок источников пакетов, используя пакет из любого источника, первым ответившего на запросы. См. подробнее о восстановлении пакетов.
[!Tip] Если источник пакета появляется после удаления, он может быть указан в файлах NuGet.Config уровня компьютера или уровня пользователя. Чтобы определить расположение этих файлов, см. описание распространенных конфигураций NuGet. Затем удалите источник, отредактировав файлы вручную или с помощью команды nuget sources.
Элемент управления «Параметры» диспетчера пакетов
Если пакет выбран, пользовательский интерфейс диспетчера пакетов отображает небольшой развертываемый элемент управления Параметры под средством выбора версий (показан в свернутом и развернутом виде). Обратите внимание, что для некоторых типов проектов предоставляется только параметр Показать окно предварительного просмотра.
Эти параметры объясняются в следующих разделах.
Показать окно предварительного просмотра
При выборе этого параметра модальное окно отображает зависимости выбранного пакета перед его установкой.
Параметры установки и обновления
(доступно не для всех типов проектов)
Поведение зависимости — указывает способ определения устанавливаемых версий зависимых пакетов в NuGet.
- Игнорировать зависимости — пропускает установку зависимостей, что обычно приводит к прерыванию установки пакета.
- Наименьший [по умолчанию] — устанавливает зависимость с минимальным номером версии, соответствующим требованиям основного выбранного пакета.
- Наибольший номер исправления — устанавливает версию с теми же основными и дополнительными номерами версий, но с самым большим номером исправления. Например, если указана версия 1.2.2, будет установлена самая высокая версия, которая начинается с 1.2.
- Наибольший номер дополнительной версии — устанавливает версию с тем же основным номером версии, но с самым большим номером дополнительной версии и номером исправления. Если указана версия 1.2.2, будет установлена самая высокая версия, которая начинается с 1.
- Наибольший — устанавливает самую высокую доступную версию пакета.
Действие при конфликте файлов — указывает, как в NuGet должны обрабатываться пакеты, которые уже существуют в проекте или на локальном компьютере.
- По приглашению — NuGet спрашивает, следует ли сохранять или перезаписывать существующие пакеты.
- Пропустить все — NuGet пропускает перезапись существующих пакетов.
- Перезаписать все — NuGet перезаписывает существующие пакеты.
(доступно не для всех типов проектов)
Удалить зависимости — удаляются все зависимые пакеты, если на них нет ссылок в других местах проекта.
Принудительно удалить, даже если есть зависимости от него — пакет удаляется, даже если на него по-прежнему есть ссылка в проекте. Обычно используется в сочетании с удалением зависимостей для удаления пакета и любых установленных зависимостей. Но использование этого параметра может привести к нарушению ссылок в проекте. В таких случаях может потребоваться переустановить другие пакеты.