Как установить nuget в visual studio
Чтобы работать с NuGet в качестве потребителя или создателя пакета, вы можете использовать средства интерфейса командной строки (CLI) и функции NuGet в Visual Studio. В этой статье кратко описываются возможности различных средств, их установка и приведена сравнительная таблица доступности функций. См. подробнее о начале работы с пакетами с помощью NuGet в руководствах по установке и использование пакета с помощью CLI dotnet и Visual Studio. Чтобы приступить к созданию пакетов NuGet, см. разделы Создание и публикация пакета NET Standard (dotnet CLI) и Создание и публикация пакета NET Standard (Visual Studio).
MSBuild CLI также предоставляет возможности восстановления и создания пакетов, которые применяются на серверах сборки. MSBuild не является универсальным средством для работы с NuGet.
Команды консоли диспетчера пакетов работают только в Visual Studio для Windows, но не в других средах PowerShell.
Visual Studio
установка на Visual Studio 2017 и более поздних версий
установка на Visual Studio 2015 и более старых версий
Для Visual Studio 2010 и более ранних версий установите расширение "Диспетчер пакетов NuGet для Visual Studio". Обратите внимание, что если расширение не отображается на первой странице результатов поиска, попробуйте изменить раскрывающийся список сортировать на "большинство Скачиваний" или сортировку в алфавитном порядке.
Средства CLI
Два средства CLI для NuGet — dotnet.exe и nuget.exe . См. сравнительную таблицу доступности функций.
Интерфейс командной строки dotnet.exe
Сведения об использовании основных команд с CLI dotnet см. в статье Установка и использование пакета с помощью CLI dotnet.
Интерфейс командной строки nuget.exe
Интерфейс командной строки nuget.exe ( nuget.exe ) — это программа командной строки для Windows, которая предоставляет все возможности NuGet. С некоторыми ограничениями ее также можно запустить на Mac OSX и Linux с помощью Mono.
Сведения об использовании основных команд с CLI nuget.exe см. в статье Установка и использование пакета с помощью CLI nuget.exe.
Windows
Mac OS и Linux
Поведение для этих ОС может несколько различаться.
В командной строке оболочки введите следующие команды:
Создайте псевдоним, добавив следующий скрипт к соответствующему файлу для вашей операционной системы (обычно ~/.bash_aliases или ~/.bash_profile ):
Перезагрузите оболочку. Проверьте установку. Для этого введите nuget без параметров. Должно отобразиться окно справки NuGet CLI.
Вы можете обновить существующий nuget.exe до последней версии с помощью команды nuget update -self в Windows.
Доступность функций
Компонент | CLI dotnet | CLI nuget (Windows) | CLI nuget (Mono) | Visual Studio (Windows) | Visual Studio для Mac |
---|---|---|---|---|---|
Поиск пакетов | ✔ | ✔ | ✔ | ✔ | |
Установка или удаление пакетов | ✔ | ✔ (1) | ✔ | ✔ | ✔ |
Обновление пакетов | ✔ | ✔ | ✔ | ✔ | |
Восстановление пакетов | ✔ | ✔ | ✔ (2) | ✔ | ✔ |
Управление веб-каналами пакета (источниками) | ✔ | ✔ | ✔ | ✔ | |
Управление пакетами в веб-канале | ✔ | ✔ | ✔ | ||
Установка ключей API для веб-каналов | ✔ | ✔ | |||
Создание пакетов (3) | ✔ | ✔ | ✔ (4) | ✔ | |
Публикация пакетов | ✔ | ✔ | ✔ | ✔ | |
Репликация пакетов | ✔ | ✔ | |||
Управление папками global-package и кэша | ✔ | ✔ | ✔ | ||
Управление конфигурацией NuGet | ✔ | ✔ |
(1) Не влияет на файлы проекта. Используйте dotnet.exe .
(2) Работает только с файлом packages.config , а не с файлами решения ( .sln ).
(3) Различные дополнительные функции пакетов доступны через CLI, только если они не представлены в средствах пользовательского интерфейса Visual Studio.
(4) Работает с файлами .nuspec , но не с файлами проекта.
Предстоящие функции
Если вы хотите заранее оценить предстоящие возможности NuGet, установите предварительную версию Visual Studio Preview, которая работает параллельно со стабильными выпусками Visual Studio. Чтобы сообщить о проблемах или обменяться идеями о предварительных версиях, откройте обращение в репозитории NuGet GitHub.
Связанные темы
Разработчики, работающие в Windows, также могут рассмотреть обозреватель пакетов NuGet, автономное средство с открытым исходным кодом, позволяющее визуально изучать, создавать и изменять пакеты NuGet. Это очень удобно, например, для внесения экспериментальных изменений в структуру пакета без необходимости его перестроения.
После установки ссылаться на пакет в коде можно с помощью using , где соответствует используемому пакету. После указания ссылки можно обращаться к пакету посредством его интерфейса API.
Предварительные требования
- Использование Visual Studio 2019 с рабочей нагрузкой "Разработка классических приложений .NET".
Создание проекта
Visual Studio создает проект, который можно найти в Обозревателе решений. Дополнительные сведения см. в разделе Сведения об Обозревателе решений.
Добавление пакета NuGet Newtonsoft.Json
Для установки пакета можно использовать диспетчер пакетов NuGet или консоль диспетчера пакетов. При установке пакета NuGet регистрирует зависимость в файле проекта или файле packages.config (в зависимости от формата проекта). Дополнительные сведения см. в разделе Обзор использования пакетов и рабочий процесс.
Диспетчер пакетов NuGet
В обозревателе решений щелкните правой кнопкой мыши узел Ссылки и выберите пункт Управление пакетами NuGet.
См. подробнее о диспетчере пакетов NuGet в руководстве по установке пакетов и управлении ими с помощью Visual Studio.
Примите все запросы касательно лицензии.
(Только в Visual Studio 2017.) Если вам будет предложено выбрать формат управления пакетом, выберите PackageReference в файле проекта.
В запросе на проверку изменений нажмите кнопку ОК.
Консоль диспетчера пакетов
Последовательно выберите Сервис Диспетчер пакетов NuGet Консоль диспетчера пакетов.
После открытия консоли убедитесь, что в раскрывающемся списке Проект по умолчанию показан проект, в который требуется установить пакет. Если в решении всего лишь один проект, он автоматически выбран.
Введите команду Install-Package Newtonsoft.Json (см. сведения о ней в Install-Package Newtonsoft.Json ). В окне консоли отображаются выходные данные команды. Ошибки обычно означают, что пакет не совместим с целевой платформой проекта.
Использование интерфейса API Newtonsoft.Json в приложении
Добавив пакет Newtonsoft.Json в проект, вы можете вызывать его метод JsonConvert.SerializeObject для преобразования объекта в удобную для восприятия строку.
Откройте файл MainWindow.xaml и замените существующий элемент Grid следующим кодом:
Откройте файл MainWindow.xaml.cs (который находится в обозревателе решений в узле MainWindow.xaml ) и вставьте в класс MainWindow следующий код.
Несмотря на то что вы добавили пакет Newtonsoft.Json в проект, JsonConvert подчеркивается красной волнистой линией, так как оператор using требуется в верхней части файла кода.
Выполните сборку и запустите приложение, нажав клавишу F5 или выбрав команду Отладка Начать отладку.
С помощью пользовательского интерфейса диспетчера пакетов NuGet в Visual Studio вы можете легко устанавливать, удалять и обновлять пакеты NuGet в проектах и решениях в ОС Windows. Если вы используете Visual Studio для Mac, см. руководство по включению пакета NuGet в проект. Пользовательский интерфейс диспетчера пакетов не входит в Visual Studio Code.
Поиск и установка пакета
В обозревателе решений щелкните правой кнопкой мыши Ссылки или имя проекта и выберите Управление пакетами NuGet.
На вкладке Обзор по популярности отображаются пакеты из выбранного в данный момент источника (см. подробнее об источниках пакетов). Выполните поиск определенного пакета с помощью поля поиска в левом верхнем углу. Выберите пакет в списке, чтобы отобразить сведения о нем. Это также активирует кнопку Установить и раскрывающийся список для выбора версии.
Выберите нужную версию в раскрывающемся списке и щелкните Установить. Visual Studio установит пакет и его зависимости в проект. Может появиться запрос на принятие условий лицензионного соглашения. После завершения установки добавленные пакеты отобразятся на вкладке Установленные. Пакеты также перечислены в узле Ссылки обозревателя решений. Это значит, что на них можно ссылаться в проекте с помощью инструкций .
Чтобы включить предварительные версии в поиск и сделать их доступными в раскрывающемся списке версий, щелкните Включить предварительные версии.
Удаление пакета
В обозревателе решений щелкните правой кнопкой мыши Ссылки или сам проект и выберите Управление пакетами NuGet.
Откройте вкладку Установленные.
Выберите пакет для удаления (при необходимости используйте поиск, чтобы отфильтровать список) и щелкните Удалить.
Обратите внимание, что элементы управления Включить предварительные версии и Источник пакета не применяются при удалении пакетов.
Обновление пакета
В обозревателе решений щелкните правой кнопкой мыши Ссылки или сам проект и выберите Управление пакетами NuGet. (В проектах веб-сайтов щелкните правой кнопкой мыши папку Bin.)
Перейдите на вкладку Обновления, чтобы просмотреть пакеты, для которых доступны обновления из выбранных источников пакетов. Выберите Включить предварительные версии, чтобы включить предварительные версии пакетов в список обновлений.
Последовательно выберите пакет для обновления и нужную версию в раскрывающемся списке справа, а затем щелкните Обновить.
Чтобы обновить несколько пакетов до последних версий, выберите их в списке и нажмите кнопку Обновить, расположенную над списком.
Можно также обновить отдельный пакет на вкладке Установленные. В этом случае сведения о пакете будут содержать средство выбора версии (зависит от параметра Включить предварительные версии) и кнопку Обновить.
Управление пакетами для решения
Управление пакетами для решения — это удобный способ одновременно работать с несколькими проектами.
Выберите команду меню Средства Диспетчер пакетов NuGet > Управление пакетами NuGet для решения или щелкните правой кнопкой мыши решение и выберите >.
При управлении пакетами для решения пользовательский интерфейс позволяет выбрать проекты, затрагиваемые операциями.
Вкладка "Консолидация"
Разработчики обычно предпочитают не использовать разные версии одного и того же пакета NuGet в разных проектах в одном решении. Когда вы выбираете управление пакетами для решения, в пользовательском интерфейсе диспетчера пакетов появляется вкладка Консолидация, на которой вы можете отслеживать использование пакетов с разными номерами версий разными проектами в решении.
В этом примере проект ClassLibrary1 использует EntityFramework 6.2.0, а ConsoleApp1 использует EntityFramework 6.1.0. Для консолидации версий пакета сделайте следующее:
Диспетчер пакетов устанавливает выбранную версию пакета во все выбранные проекты. После этого пакет больше не будет отображаться на вкладке Консолидация.
Источники пакетов
Чтобы изменить источник, из которого Visual Studio получает пакеты, выберите его в средстве выбора источника.
Для управления источниками пакетов сделайте следующее:
Щелкните значок Параметры в пользовательском интерфейсе диспетчера пакетов, как показано ниже, или выберите команду Средства Параметры и прокрутите до пункта Диспетчер пакетов NuGet.
Выберите узел Источники пакетов.
Чтобы добавить источник, выберите +, измените имя, введите URL-адрес или путь в элементе управления + и щелкните Обновить. Источник отобразится в раскрывающемся списке для выбора.
Чтобы изменить источник пакета, выберите его, внесите изменения в поля Имя и Источник и щелкните Обновить.
Чтобы отключить источник пакета, снимите флажок слева от имени в списке.
Чтобы удалить источник пакета, выберите его и нажмите кнопку X.
Использование кнопок со стрелками вверх и вниз не меняет приоритетный порядок источников пакетов. Visual Studio игнорирует порядок источников пакетов, используя пакет из любого источника, первым ответившего на запросы. См. подробнее о восстановлении пакетов.
Если источник пакета появляется после удаления, он может быть указан в файлах NuGet.Config уровня компьютера или уровня пользователя. Чтобы определить расположение этих файлов, см. описание распространенных конфигураций NuGet. Затем удалите источник, отредактировав файлы вручную или с помощью команды nuget sources.
Элемент управления "Параметры" диспетчера пакетов
Если пакет выбран, пользовательский интерфейс диспетчера пакетов отображает небольшой развертываемый элемент управления Параметры под средством выбора версий (показан в свернутом и развернутом виде). Обратите внимание, что для некоторых типов проектов предоставляется только параметр Показать окно предварительного просмотра.
Эти параметры объясняются в следующих разделах.
Показать окно предварительного просмотра
При выборе этого параметра модальное окно отображает зависимости выбранного пакета перед его установкой.
Параметры установки и обновления
(доступно не для всех типов проектов)
Поведение зависимости — указывает способ определения устанавливаемых версий зависимых пакетов в NuGet.
- Игнорировать зависимости — пропускает установку зависимостей, что обычно приводит к прерыванию установки пакета.
- Наименьший [по умолчанию] — устанавливает зависимость с минимальным номером версии, соответствующим требованиям основного выбранного пакета.
- Наибольший номер исправления — устанавливает версию с теми же основными и дополнительными номерами версий, но с самым большим номером исправления. Например, если указана версия 1.2.2, будет установлена самая высокая версия, которая начинается с 1.2.
- Наибольший номер дополнительной версии — устанавливает версию с тем же основным номером версии, но с самым большим номером дополнительной версии и номером исправления. Если указана версия 1.2.2, будет установлена самая высокая версия, которая начинается с 1.
- Наибольший — устанавливает самую высокую доступную версию пакета.
Действие при конфликте файлов — указывает, как в NuGet должны обрабатываться пакеты, которые уже существуют в проекте или на локальном компьютере.
- По приглашению — NuGet спрашивает, следует ли сохранять или перезаписывать существующие пакеты.
- Пропустить все — NuGet пропускает перезапись существующих пакетов.
- Перезаписать все — NuGet перезаписывает существующие пакеты.
Параметры удаления
(доступно не для всех типов проектов)
Удалить зависимости — удаляются все зависимые пакеты, если на них нет ссылок в других местах проекта.
Принудительно удалить, даже если есть зависимости от него — пакет удаляется, даже если на него по-прежнему есть ссылка в проекте. Обычно используется в сочетании с удалением зависимостей для удаления пакета и любых установленных зависимостей. Но использование этого параметра может привести к нарушению ссылок в проекте. В таких случаях может потребоваться переустановить другие пакеты.
Консоль диспетчера пакетов NuGet позволяет использовать команды PowerShell NuGet для поиска, установки, удаления и обновления пакетов NuGet. Это удобно, когда пользовательский интерфейс диспетчера пакетов не позволяет выполнять операции. См. подробнее об nuget.exe .
Консоль встроена в Visual Studio для Windows. Она не включена в Visual Studio для Mac и Visual Studio Code.
Перечисленные здесь команды относятся только к консоли диспетчера пакетов в Visual Studio и отличаются от команд модуля "Управление пакетами", доступных в общей среде PowerShell. В частности, в каждой среде есть команды, недоступные в другой среде, а в командах с тем же именем могут отличаться некоторые аргументы. При использовании консоли "Управление пакетами" в Visual Studio применяются команды и аргументы, описанные в этой статье.
Поиск и установка пакета
Для поиска и установки пакета необходимо выполнить три простых шага:
Откройте проект или решение в Visual Studio, а затем откройте консоль с помощью команды Средства Диспетчер пакетов NuGet > Консоль диспетчера пакетов.
Найдите пакет, который требуется установить. Если вы уже знакомы с этим процессом, перейдите к шагу 3.
Выполните команду установки:
Все операции, доступные в консоли, также можно выполнить с помощью CLI NuGet. Но команды консоли работают в контексте Visual Studio и сохраненного проекта или решения, и область их применения часто шире, чем у их эквивалентов в CLI. Например, при установке пакета с помощью консоли добавляется ссылка на проект, а при использовании команды CLI этого не происходит. По этой причине разработчики, работающие в Visual Studio, обычно предпочитают использовать консоль вместо CLI.
Открытие консоли и элементов управления консоли
Откройте консоль в Visual Studio с помощью команды Средства Диспетчер пакетов NuGet > Консоль диспетчера пакетов. Консоль — это окно Visual Studio, которое может быть упорядочено и размещено по вашему усмотрению (см. руководство по настройке макетов окон в Visual Studio).
По умолчанию команды консоли работают с конкретным источником пакета и проектом, как указано в элементе управления в верхней части окна.
Выбор другого источника пакета или проекта изменяет эти значения по умолчанию для последующих команд. Чтобы переопределить эти настройки, не меняя значения по умолчанию, большинство команд поддерживают параметры -Source и -ProjectName .
Чтобы управлять источниками пакетов, щелкните значок шестеренки. Это ярлык для диалогового окна Средства Параметры > Диспетчер пакетов NuGet > Источники пакетов, как описано на странице >. Кроме того, элемент управления справа от средства выбора проектов очищает содержимое консоли.
Установка пакета
При установке пакета в консоли выполняются те же действия, которые описаны в руководстве по установке пакета NuGet, со следующими дополнениями:
- Консоль отображает применимые условия лицензии в окне с соответствующим соглашением. Если вы не согласны с условиями, следует сразу же удалить пакет.
- Кроме того, ссылка на пакет добавляется в файл проекта и отображается в обозревателе решений в узле Ссылки. Сохраните проект, чтобы просмотреть изменения непосредственно в файле проекта.
Удаление пакета
См. подробнее об Uninstall-Package. Если необходимо найти идентификатор, чтобы просмотреть все пакеты, установленные в проекте по умолчанию, используйте команду Get-Package.
При удалении пакета выполняются следующие действия:
- Удаляются ссылки на пакет из проекта (и любого используемого формата управления). Ссылки больше не отображаются в обозревателе решений (возможно, потребуется перестроить проект, чтобы он был удален из папки Bin).
- Отменяются все изменения, внесенные в app.config или web.config при установке пакета.
- Удаляются ранее установленные зависимости, если остальные пакеты не используют эти зависимости.
Обновление пакета
Поиск пакета
См. подробнее о Find-Package. В Visual Studio 2013 и более ранних версиях используйте команду Get-Package.
Доступность консоли
Консоль диспетчера пакетов сейчас недоступна в Visual Studio для Mac. Но аналогичные команды доступны через CLI NuGet. В Visual Studio для Mac есть пользовательский интерфейс для управления пакетами NuGet. См. подробнее о включении пакета NuGet в проект.
Консоль диспетчера пакетов не входит в Visual Studio Code.
Расширение консоли диспетчера пакетов
Настройка профиля PowerShell NuGet
Профиль PowerShell позволяет сделать часто используемые команды доступными при использовании PowerShell. NuGet поддерживает профиль NuGet, который обычно находится в следующем расположении:
Чтобы найти профиль, в консоли введите $profile .
Использование CLI nuget.exe в консоли
Once installed, refer to the package in code with using where is specific to the package you're using. Once the reference is made, you can call the package through its API.
Prerequisites
Create a project
Visual Studio creates the project, which can be found in Solution Explorer. For more information, see Learn about Solution Explorer.
Add the Newtonsoft.Json NuGet package
To install the package, you can use either the NuGet Package Manager or the Package Manager Console. When you install a package, NuGet records the dependency in either your project file or a packages.config file (depending on the project format). For more information, see Package consumption overview and workflow.
NuGet Package Manager
In Solution Explorer, right-click References and choose Manage NuGet Packages.
Choose "nuget.org" as the Package source, select the Browse tab, search for Newtonsoft.Json, select that package in the list, and select Install:
If you want more information on the NuGet Package Manager, see Install and manage packages using Visual Studio.
Accept any license prompts.
(Visual Studio 2017 only) If prompted to select a package management format, select PackageReference in project file:
If prompted to review changes, select OK.
Package Manager Console
Select the Tools > NuGet Package Manager > Package Manager Console menu command.
Once the console opens, check that the Default project drop-down list shows the project into which you want to install the package. If you have a single project in the solution, it is already selected.
Enter the command Install-Package Newtonsoft.Json (see Install-Package). The console window shows output for the command. Errors typically indicate that the package isn't compatible with the project's target framework.
If you want more information on the Package Manager Console, see Install and manage packages using Package Manager Console.
Use the Newtonsoft.Json API in the app
With the Newtonsoft.Json package in the project, you can call its JsonConvert.SerializeObject method to convert an object to a human-readable string.
Open MainWindow.xaml and replace the existing Grid element with the following:
Open the MainWindow.xaml.cs file (located in Solution Explorer under the MainWindow.xaml node), and insert the following code inside the MainWindow class:
Even though you added the Newtonsoft.Json package to the project, red squiggles appears under JsonConvert because you need a using statement at the top of the code file:
Build and run the app by pressing F5 or selecting Debug > Start Debugging:
Select on the button to see the contents of the TextBlock replaced with some JSON text:
Читайте также: