Как установить nuget в Visual Studio

Обновлено: 30.06.2024

Консоль диспетчера пакетов NuGet позволяет использовать команды NuGet PowerShell для поиска, установки, удаления и обновления пакетов NuGet. Использование консоли необходимо в тех случаях, когда пользовательский интерфейс диспетчера пакетов не позволяет выполнить операцию. Чтобы использовать команды CLI nuget.exe в консоли, см. раздел Использование CLI nuget.exe в консоли.

Консоль встроена в Visual Studio для Windows. Он не входит в состав Visual Studio для Mac или Visual Studio Code.

Перечисленные здесь команды относятся к консоли диспетчера пакетов в Visual Studio и отличаются от команд модуля управления пакетами, доступных в обычной среде PowerShell. В частности, в каждой среде есть команды, недоступные в другой среде, а команды с одинаковыми именами также могут различаться своими специфическими аргументами. При использовании консоли управления пакетами в Visual Studio применяются команды и аргументы, описанные в этом разделе.

Найти и установить пакет

Например, поиск и установка пакета выполняется в три простых шага:

Откройте проект/решение в Visual Studio и откройте консоль с помощью команды Инструменты > Диспетчер пакетов NuGet > Консоль диспетчера пакетов.

Найдите пакет, который хотите установить. Если вы это уже знаете, перейдите к шагу 3.

Выполните команду установки:

Все операции, доступные в консоли, также можно выполнять с помощью интерфейса командной строки NuGet. Однако консольные команды работают в контексте Visual Studio и сохраненного проекта/решения и часто выполняют больше, чем их эквивалентные команды CLI. Например, установка пакета через консоль добавляет ссылку на проект, а команда CLI — нет. По этой причине разработчики, работающие в Visual Studio, обычно предпочитают использовать консоль, а не интерфейс командной строки.

Многие операции с консолью зависят от того, открыто ли решение в Visual Studio с известным путем. Если у вас есть несохраненное решение или решение отсутствует, вы можете увидеть ошибку «Решение не открыто или не сохранено. Убедитесь, что у вас есть открытое и сохраненное решение». Это указывает на то, что консоль не может определить папку решения. Сохранение несохраненного решения или создание и сохранение решения, если оно еще не открыто, должно исправить ошибку.

Открытие консоли и ее элементов управления

Откройте консоль в Visual Studio с помощью команды Инструменты > Диспетчер пакетов NuGet > Консоль диспетчера пакетов. Консоль — это окно Visual Studio, которое можно упорядочить и расположить по своему усмотрению (см. раздел Настройка макетов окон в Visual Studio).

По умолчанию консольные команды работают с определенным источником пакета и проектом, как указано в элементе управления в верхней части окна:

Консоль управления пакетами для пакета источник и проект

Выбор другого источника пакета и/или проекта изменяет эти значения по умолчанию для последующих команд. Чтобы переопределить эти параметры без изменения значений по умолчанию, большинство команд поддерживают параметры -Source и -ProjectName.

Для управления источниками пакетов выберите значок шестеренки. Это ярлык для диалогового окна Инструменты > Параметры > Диспетчер пакетов NuGet > Источники пакетов, как описано на странице пользовательского интерфейса диспетчера пакетов. Кроме того, элемент управления справа от селектора проектов очищает содержимое консоли:

Параметры консоли диспетчера пакетов и очистить управления

Управление остановкой консоли диспетчера пакетов

Установить пакет

Установка пакета в консоли выполняется так же, как описано в разделе Что происходит при установке пакета, со следующими дополнениями:

  • Консоль отображает применимые условия лицензии в своем окне с подразумеваемым согласием. Если вы не согласны с условиями, вам следует немедленно удалить пакет.
  • Кроме того, ссылка на пакет добавляется в файл проекта и отображается в обозревателе решений в узле "Ссылки". Вам необходимо сохранить проект, чтобы увидеть изменения непосредственно в файле проекта.

Удалить пакет

См. Удаление пакета. Используйте Get-Package, чтобы увидеть все пакеты, установленные в настоящее время в проекте по умолчанию, если вам нужно найти идентификатор.

При удалении пакета выполняются следующие действия:

  • Удаляет ссылки на пакет из проекта (и любого используемого формата управления). Ссылки больше не отображаются в обозревателе решений. (Возможно, вам придется перестроить проект, чтобы он был удален из папки Bin.)
  • Отменяет все изменения, внесенные в app.config или web.config при установке пакета.
  • Удаляет ранее установленные зависимости, если оставшиеся пакеты не используют эти зависимости.

Обновить пакет

Найти пакет

См. раздел «Найти пакет». В Visual Studio 2013 и более ранних версиях вместо этого используйте Get-Package.

Наличие консоли

Консоль диспетчера пакетов в настоящее время недоступна в Visual Studio для Mac. Однако эквивалентные команды доступны через интерфейс командной строки NuGet. В Visual Studio для Mac есть пользовательский интерфейс для управления пакетами NuGet. См. раздел Включение пакета NuGet в проект.

Консоль диспетчера пакетов не входит в состав Visual Studio Code.

Расширить консоль диспетчера пакетов

Установка и использование MvcScaffold

Настройка профиля NuGet PowerShell

Профиль PowerShell позволяет сделать часто используемые команды доступными везде, где вы используете PowerShell. NuGet поддерживает профиль NuGet, который обычно находится по следующему адресу:

После установки обратитесь к пакету в коде с помощью where, характерного для используемого вами пакета. После создания ссылки вы можете вызвать пакет через его API.

Предпосылки

Создать проект

Visual Studio создает проект, который можно найти в обозревателе решений. Дополнительные сведения см. в разделе Дополнительные сведения об обозревателе решений.

Добавьте пакет Newtonsoft.Json NuGet

Для установки пакета можно использовать диспетчер пакетов NuGet или консоль диспетчера пакетов. Когда вы устанавливаете пакет, NuGet записывает зависимость либо в файл проекта, либо в файл packages.config (в зависимости от формата проекта). Дополнительные сведения см. в разделе Обзор потребления пакетов и рабочий процесс.

Диспетчер пакетов NuGet

В обозревателе решений щелкните правой кнопкой мыши "Ссылки" и выберите "Управление пакетами NuGet".

Управление пакетами NuGet

Выберите "nuget.org" в качестве источника пакета, перейдите на вкладку "Обзор", найдите Newtonsoft.Json, выберите этот пакет в списке и выберите "Установить":

Расположение Newtonsoft.Json пакет

Если вам нужна дополнительная информация о диспетчере пакетов NuGet, см. раздел Установка пакетов и управление ими с помощью Visual Studio.

Примите любые запросы на получение лицензии.

(только Visual Studio 2017) Если будет предложено выбрать формат управления пакетами, выберите PackageReference в файле проекта:

Выбор управления пакетами формат

Если будет предложено просмотреть изменения, выберите "ОК".

Консоль диспетчера пакетов

Выберите команду меню Инструменты > Диспетчер пакетов NuGet > Консоль диспетчера пакетов.

После открытия консоли убедитесь, что в раскрывающемся списке «Проект по умолчанию» указан проект, в который вы хотите установить пакет. Если в решении есть один проект, он уже выбран.

Введите команду Install-Package Newtonsoft.Json (см. Install-Package). Окно консоли показывает вывод команды. Ошибки обычно указывают на то, что пакет несовместим с целевой платформой проекта.

Если вам нужна дополнительная информация о консоли диспетчера пакетов, см. раздел Установка пакетов и управление ими с помощью консоли диспетчера пакетов.

Использовать API Newtonsoft.Json в приложении

С пакетом Newtonsoft.Json в проекте можно вызвать его метод JsonConvert.SerializeObject для преобразования объекта в удобочитаемую строку.

Откройте файл MainWindow.xaml и замените существующий элемент Grid следующим:

Откройте файл MainWindow.xaml.cs (расположенный в обозревателе решений в узле MainWindow.xaml) и вставьте следующий код в класс MainWindow:

Несмотря на то, что вы добавили в проект пакет Newtonsoft.Json, под JsonConvert отображаются красные волнистые линии, потому что вам нужен оператор using в верхней части файла кода:

Создайте и запустите приложение, нажав F5 или выбрав Отладка > Начать отладку:

Исходный вывод Приложение WPF

Нажмите кнопку, чтобы увидеть, как содержимое TextBlock заменено некоторым текстом JSON:

Пользовательский интерфейс диспетчера пакетов NuGet в Visual Studio для Windows позволяет легко устанавливать, удалять и обновлять пакеты NuGet в проектах и ​​решениях.Опыт работы с Visual Studio для Mac см. в разделе Включение пакета NuGet в проект. Пользовательский интерфейс диспетчера пакетов не входит в состав Visual Studio Code.

Найти и установить пакет

В обозревателе решений щелкните правой кнопкой мыши Ссылки или проект и выберите Управление пакетами NuGet. .

Параметр меню

На вкладке "Обзор" отображаются пакеты по популярности из выбранного в данный момент источника (см. источники пакетов). Найдите определенный пакет, используя поле поиска в левом верхнем углу. Выберите пакет из списка, чтобы отобразить информацию о нем, что также активирует кнопку «Установить» и раскрывающийся список выбора версии.

Управление пакетами NuGet

Выберите нужную версию из раскрывающегося списка и выберите Установить. Visual Studio устанавливает пакет и его зависимости в проект. Вас могут попросить принять условия лицензии. После завершения установки добавленные пакеты появятся на вкладке Установлено. Пакеты также перечислены в узле «Ссылки» обозревателя решений, что указывает на то, что вы можете ссылаться на них в проекте с помощью операторов using.

Ссылки в обозревателе решений

Чтобы включить предварительные версии в поиск и сделать предварительные версии доступными в раскрывающемся списке версий, выберите параметр Включить предварительные версии.

Удалить пакет

В обозревателе решений щелкните правой кнопкой мыши Ссылки или нужный проект и выберите Управление пакетами NuGet. .

Выберите вкладку "Установлено".

Выберите пакет для удаления (при необходимости отфильтруйте список с помощью поиска) и выберите Удалить.

Удаление пакета

Обратите внимание, что элементы управления исходным кодом Include prerelease и Package не действуют при удалении пакетов.

Обновить пакет

В обозревателе решений щелкните правой кнопкой мыши Ссылки или нужный проект и выберите Управление пакетами NuGet. . (В проектах веб-сайтов щелкните правой кнопкой мыши папку Bin.)

Перейдите на вкладку «Обновления», чтобы просмотреть пакеты с доступными обновлениями из выбранных источников пакетов. Выберите Включить предварительную версию, чтобы включить предварительные версии пакетов в список обновлений.

Выберите пакет для обновления, выберите нужную версию в раскрывающемся списке справа и выберите Обновить.

Обновление пакета

Пример пакета, отмеченного как неявные ссылки или с автоссылкой

Чтобы обновить несколько пакетов до их новейших версий, выберите их в списке и нажмите кнопку "Обновить" над списком.

Вы также можете обновить отдельный пакет на вкладке "Установлено". В этом случае сведения о пакете включают средство выбора версии (с учетом параметра «Включить предварительный выпуск») и кнопку «Обновить».

Управление пакетами решения

Управление пакетами решения — удобный способ одновременной работы с несколькими проектами.

Выберите Инструменты > Диспетчер пакетов NuGet > Управление пакетами 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 игнорирует порядок источников пакетов, используя пакет из того источника, который первым отвечает на запросы. Дополнительные сведения см. в разделе Восстановление пакетов.

Если источник пакета снова появляется после его удаления, он может быть указан в файлах NuGet.Config уровня компьютера или пользователя. Расположение этих файлов см. в разделе Общие конфигурации NuGet, а затем удалите источник, отредактировав файлы вручную или с помощью команды nuget sources.

Управление параметрами диспетчера пакетов

Когда пакет выбран, пользовательский интерфейс диспетчера пакетов отображает небольшой расширяемый элемент управления «Параметры» под селектором версии (здесь он показан как в свернутом, так и в развернутом виде). Обратите внимание, что для некоторых типов проектов доступен только параметр Показать окно предварительного просмотра.

Параметры диспетчера пакетов

В следующих разделах объясняются эти параметры.

Показать окно предварительного просмотра

При выборе в модальном окне отображаются зависимости выбранного пакета до его установки:

Пример диалогового окна предварительного просмотра

Параметры установки и обновления

(Доступно не для всех типов проектов.)

Поведение зависимостей определяет, как NuGet решает, какие версии зависимых пакетов установить:

  • Игнорировать зависимости пропускает установку любых зависимостей, что обычно нарушает работу устанавливаемого пакета.
  • Самая низкая [по умолчанию] устанавливает зависимость с минимальным номером версии, который соответствует требованиям основного выбранного пакета.
  • Самое высокое исправление устанавливает версию с одинаковыми основным и вспомогательным номерами версии, но с самым высоким номером исправления. Например, если указана версия 1.2.2, будет установлена ​​самая старшая версия, начинающаяся с 1.2.
  • Самый высокий дополнительный номер устанавливает версию с таким же основным номером версии, но с самым высоким дополнительным номером и номером исправления. Если указана версия 1.2.2, будет установлена ​​самая старшая версия, начинающаяся с 1
  • Самая высокая устанавливает самую старшую доступную версию пакета.

Действие при конфликте файлов указывает, как NuGet должен обрабатывать пакеты, которые уже существуют в проекте или на локальном компьютере:

  • Подсказка указывает NuGet запрашивать, следует ли сохранить или перезаписать существующие пакеты.
  • Игнорировать все указывает NuGet пропускать перезапись любых существующих пакетов.
  • Перезаписать все указывает NuGet перезаписать все существующие пакеты.

Параметры удаления

(Доступно не для всех типов проектов.)

Удалить зависимости: если этот флажок установлен, все зависимые пакеты удаляются, если на них нет ссылок в другом месте проекта.

Принудительно удалить, даже если от него есть зависимости: если этот флажок установлен, пакет удаляется, даже если на него все еще ссылаются в проекте. Обычно это используется в сочетании с Удалить зависимости для удаления пакета и любых установленных им зависимостей. Однако использование этой опции может привести к неработающим ссылкам в проекте. В таких случаях вам может потребоваться переустановить другие пакеты.

Присоединяйтесь к сообществу DZone и получите все возможности участника.

Введение

Пакеты NuGet – это предварительно определенные фрагменты кода, которые могут повторно использоваться другими разработчиками. Вы можете добавить пакет NuGet в свой проект и использовать его функциональные возможности в любом месте проекта. Мы также можем сказать, что NuGet ведет себя как платформа, где разработчики могут создавать код и делиться им со всем миром. Он содержит код, скомпилированный как DLL, который практически невозможно расшифровать.

Предпосылки

Шаг 1. Создайте проект

Шаг 2. Откройте диспетчер пакетов NuGet

Теперь есть два варианта открытия окна диспетчера пакетов Nuget.

Выберите Инструменты > Диспетчер пакетов Nuget > Управление пакетами Nuget для решения.

Установить пакеты NuGet в Visual Studio

<р>2. Перейдите в обозреватель решений, щелкните правой кнопкой мыши пункт "Ссылки" и выберите "Управление пакетами NuGet".

Установить пакеты NuGet в Visual Studio

Шаг 3. Найдите и установите необходимый пакет NuGet

Установить пакеты NuGet в Visual Studio

  • В этом окне вы можете искать, устанавливать, удалять и обновлять любой пакет Nuget. Вы также можете просмотреть полный список установленных пакетов NuGet.
  • После того как вы нажмете кнопку "Установить" и выберите "Я согласен" во всплывающем окне разрешений, этот конкретный пакет будет установлен/добавлен в ваш проект.
  • Здесь я устанавливаю пакет EntityFramwork Nuget.

После успешной установки пакета появится это сообщение.

Установить пакеты NuGet в Visual Studio

Здесь вы можете увидеть установленный проект. Перейдите в обозреватель решений > Справочник и разверните его.

Установить пакеты NuGet в Visual Studio

Теперь вы можете получить доступ к этому пакету/коду из своего проекта.

Примечание. Вы также можете установить пакеты NuGet для нескольких проектов одновременно и в одном месте.

Установка NuGet с помощью консоли диспетчера пакетов

Шаг 1. Выберите Инструменты > Диспетчер пакетов NuGet > Консоль диспетчера пакетов

Установить пакеты NuGet в Visual Studio

В нижней части окна откроется консоль.

Шаг 2. Выберите свой проект и выполните приведенную ниже команду, чтобы установить пакет

Установить пакеты NuGet в Visual Studio

Если ваша команда действительна, пакет будет установлен в вашем проекте.

Читайте также: