Как установить nuget пакеты
Рабочий процесс использования пакета
На веб-сайте nuget.org и в закрытых коллекциях пакетов, создаваемых в вашей организации, а также на других ресурсах вы можете найти десятки тысяч полезных пакетов, которые могут быть использованы в ваших приложениях и службах. Рабочий процесс использования пакетов во многом соответствует общему независимо от источника пакета.
NuGet запоминает удостоверение и номер версии каждого установленного пакета, записывая эти данные в файл проекта (при использовании формата PackageReference) или в файл в зависимости от типа проекта и версии NuGet. При использовании NuGet 4.0 и более поздних версий советуем использовать формат PackageReference. Кроме того, это можно настроить в Visual Studio через параметры пользовательского интерфейса диспетчера пакетов. В любом случае вы всегда можете найти соответствующий файл и просмотреть полный список зависимостей для вашего проекта.
Рекомендуется всегда проверять лицензии для каждого пакета, который вы планируете использовать в своем программном обеспечении. На веб-сайте nuget.org в правой части страницы с описанием для каждого пакета представлена ссылка на сведения о лицензии. Если для пакета не заданы условия лицензии, следует обратиться непосредственно к владельцу пакета по ссылке для связи с владельцем на странице пакета. Корпорация Майкрософт не предоставляет вам лицензию на какую-либо интеллектуальную собственность сторонних поставщиков пакетов и не несет ответственность за сведения, предоставляемые третьими лицами.
При установке пакетов NuGet, как правило, проверяет доступность пакета из кэша. Вы можете вручную очистить этот кэш из командной строки, как описывается в статье Управление папкой установки глобальных пакетов, кэшем и временными папками.
NuGet также проверяет совместимость целевых платформ, которые поддерживаются пакетом, с вашим проектом. Если пакет не содержит совместимых сборок, NuGet отображает сообщение об ошибке. См. раздел Устранение ошибок с несовместимостью пакетов.
При добавлении кода проекта в репозиторий исходного кода пакеты NuGet, как правило, не включаются. Если впоследствии планируется клонирование репозитория или получение проекта каким-либо образом с построением агентов в таких системах, как Visual Studio Team Services, перед выполнением построения необходимо восстановить требуемые пакеты:
В некоторых случаях требуется переустановить пакеты, которые уже включены в состав проекта, что также может потребовать переустановку зависимостей. Это легко сделать с помощью команды nuget reinstall или консоли диспетчера пакетов NuGet. Дополнительные сведения см. в разделе Повторная установка и обновление пакетов.
Способы установки пакетов NuGet
Пакеты NuGet можно скачать и установить с использованием любого из представленных в следующей таблице методов.
Краткое руководство. Установка и использование пакета в Visual Studio (только в Windows)
Предварительные требования
Вы можете установить бесплатный выпуск Community 2019 с сайта visualstudio.com либо использовать выпуск Professional или Enterprise.
Создание проекта
В этом пошаговом руководстве описано, как использовать простое приложение WPF. Создайте проект в Visual Studio, щелкнув Файл Создать проект и введя .NET в поле поиска. Затем выберите Приложение WPF (.NET Framework). Нажмите кнопку Далее. При появлении запроса примите значения по умолчанию для платформы.
Visual Studio создаст проект и откроет его в обозревателе решений.
Добавление пакета NuGet Newtonsoft.Json
Для установки пакета можно использовать диспетчер пакетов NuGet или консоль диспетчера пакетов. При установке пакета NuGet регистрирует зависимость в файле проекта или файле packages.config (в зависимости от формата проекта). Дополнительные сведения см. в разделе Обзор использования пакетов и рабочий процесс.
Диспетчер пакетов NuGet
В обозревателе решений щелкните правой кнопкой мыши узел Ссылки и выберите пункт Управление пакетами NuGet.
Выберите nuget.org в качестве источника пакетов, перейдите на вкладку Обзор, выполните поиск по запросу Newtonsoft.Json, выберите этот пакет в списке и нажмите кнопку Установить.
См. подробнее о диспетчере пакетов 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 или выбрав команду Отладка Начать отладку.
Нажмите кнопку. Надпись TextBlock заменится текстом в формате JSON:
Связанные видео
Другие видео о NuGet см. на Channel 9 и YouTube.
Дальнейшие действия
Поздравляем! Вы установили пакет NuGet и поработали с ним.
См. подробнее о возможностях NuGet по приведенным ниже ссылкам.
Устанавливайте пакеты и управляйте ими непосредственно в Visual Studio с помощью диспетчера пакетов NuGet.
С помощью пользовательского интерфейса диспетчера пакетов NuGet в Visual Studio вы можете легко устанавливать, удалять и обновлять пакеты NuGet в проектах и решениях в ОС Windows. Если вы используете Visual Studio для Mac, см. руководство по включению пакета NuGet в проект. Пользовательский интерфейс диспетчера пакетов не входит в Visual Studio Code.
Если у вас нет диспетчера пакетов NuGet в Visual Studio 2015, щелкните Сервис Расширения и обновления и найдите расширение Диспетчер пакетов NuGet. Если вы не можете использовать установщик расширений в Visual Studio, скачайте расширение отсюда: https://dist.nuget.org/index.html.
Поиск и установка пакета
В обозревателе решений щелкните правой кнопкой мыши Ссылки или имя проекта и выберите Управление пакетами NuGet.
На вкладке Обзор по популярности отображаются пакеты из выбранного в данный момент источника (см. подробнее об источниках пакетов). Выполните поиск определенного пакета с помощью поля поиска в левом верхнем углу. Выберите пакет в списке, чтобы отобразить сведения о нем. Это также активирует кнопку Установить и раскрывающийся список для выбора версии.
Чтобы включить предварительные версии в поиск и сделать их доступными в раскрывающемся списке версий, щелкните Включить предварительные версии.
Удаление пакета
В обозревателе решений щелкните правой кнопкой мыши Ссылки или сам проект и выберите Управление пакетами 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.
Действие при конфликте файлов — указывает, как в NuGet должны обрабатываться пакеты, которые уже существуют в проекте или на локальном компьютере.
Параметры удаления
(доступно не для всех типов проектов)
Удалить зависимости — удаляются все зависимые пакеты, если на них нет ссылок в других местах проекта.
Принудительно удалить, даже если есть зависимости от него — пакет удаляется, даже если на него по-прежнему есть ссылка в проекте. Обычно используется в сочетании с удалением зависимостей для удаления пакета и любых установленных зависимостей. Но использование этого параметра может привести к нарушению ссылок в проекте. В таких случаях может потребоваться переустановить другие пакеты.
Управление пакетами с использованием CLI nuget.exe
С помощью средства CLI вы можете легко восстанавливать пакеты NuGet в проектах и решениях. Это средство обеспечивает все функциональные возможности NuGet в Windows и большинство функций, выполняемых в рамках проекта Mono на компьютере Mac и Linux.
Предварительные требования
Установка пакета
Команда install позволяет скачать и установить пакет в проект с использованием заданных источников пакетов. По умолчанию для этого используется текущая папка. Установите новые пакеты в папку packages в корневом каталоге проекта.
Откройте командную строку и перейдите в каталог, в котором находится файл проекта.
Выполните следующую команду для установки пакета NuGet в папку packages.
Установка определенной версии пакета
Если при использовании команды install версия пакета не указана, NuGet установит его последнюю версию. Вы также можете установить определенную версию пакета Nuget.
Удаление пакета
Если возникает необходимость, пакеты следует удалять из папки packages.
Вывод списка пакетов
Например, можно вывести список пакетов в папке packages.
Если вы указываете условие поиска, в результаты будут включены названия пакетов, теги и описания пакетов.
Обновление отдельного пакета
При выполнении команды install NuGet устанавливает последнюю версию пакета, кроме случаев, когда версия задается с помощью соответствующего параметра.
Обновление всех пакетов
Восстановление пакетов
Используйте команду restore, которая скачивает и устанавливает любые отсутствующие пакеты из папки packages.
Получение версии CLI
Используйте следующую команду:
Установка пакетов и управление ими с помощью консоли диспетчера пакетов в Visual Studio (PowerShell)
Консоль встроена в 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 с использованием известного имени пути. Если у вас нет решения или оно не сохранено, отобразится сообщение об ошибке «Решение не открыто или не сохранено. Убедитесь, что вы открыли и сохранили решение». Это означает, что консоль не может определить папку решения. Эту ошибку можно исправить, сохранив несохраненное решение или создав и сохранив решение, если оно не открыто.
Открытие консоли и элементов управления консоли
Откройте консоль в Visual Studio с помощью команды Средства Диспетчер пакетов NuGet > Консоль диспетчера пакетов. Консоль — это окно Visual Studio, которое может быть упорядочено и размещено по вашему усмотрению (см. руководство по настройке макетов окон в Visual Studio).
По умолчанию команды консоли работают с конкретным источником пакета и проектом, как указано в элементе управления в верхней части окна.
Чтобы управлять источниками пакетов, щелкните значок шестеренки. Это ярлык для диалогового окна Средства Параметры > Диспетчер пакетов NuGet > Источники пакетов, как описано на странице >. Кроме того, элемент управления справа от средства выбора проектов очищает содержимое консоли.
Установка пакета
При установке пакета в консоли выполняются те же действия, которые описаны в руководстве по установке пакета NuGet, со следующими дополнениями:
Удаление пакета
См. подробнее об Uninstall-Package. Если необходимо найти идентификатор, чтобы просмотреть все пакеты, установленные в проекте по умолчанию, используйте команду Get-Package.
При удалении пакета выполняются следующие действия:
Обновление пакета
Поиск пакета
См. подробнее о Find-Package. В Visual Studio 2013 и более ранних версиях используйте команду Get-Package.
Доступность консоли
Кроме того, если у вас нет диспетчера пакетов NuGet в Visual Studio 2015 и более ранних версиях, щелкните Сервис Расширения и обновления и найдите расширение «Диспетчер пакетов NuGet». Если вы не можете использовать установщик расширений в Visual Studio, скачайте расширение отсюда: https://dist.nuget.org/index.html.
Консоль диспетчера пакетов сейчас недоступна в Visual Studio для Mac. Но аналогичные команды доступны через CLI NuGet. В Visual Studio для Mac есть пользовательский интерфейс для управления пакетами NuGet. См. подробнее о включении пакета NuGet в проект.
Консоль диспетчера пакетов не входит в Visual Studio Code.
Расширение консоли диспетчера пакетов
Некоторые пакеты устанавливают новые команды для консоли. Например, MvcScaffolding создает команды, например команду Scaffold (см. ниже), которая, в свою очередь, создает контроллеры и представления ASP.NET MVC.
Настройка профиля PowerShell NuGet
Профиль PowerShell позволяет сделать часто используемые команды доступными при использовании PowerShell. NuGet поддерживает профиль NuGet, который обычно находится в следующем расположении: