Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Консоль диспетчера пакетов в Visual Studio использует команды PowerShell для взаимодействия с пакетами NuGet. Консоль можно использовать, если нет способа выполнить операцию с помощью пользовательского интерфейса диспетчера пакетов. Вы также можете использовать команды dotnet CLI или NuGet CLI в консоли.
В этой статье описывается, как найти, установить, обновить и удалить пакеты NuGet с помощью команд PowerShell в консоли диспетчера пакетов. Полное руководство по командам PowerShell в консоли Диспетчера пакетов см. в справочнике по PowerShell.
Это важно
Команды и аргументы PowerShell в этой статье относятся к консоли диспетчера пакетов Visual Studio. Эти команды отличаются от команд модуля PackageManagement , которые можно использовать в общей среде PowerShell. Каждая среда имеет команды, недоступные в другой среде, и команды с одинаковым именем могут отличаться в своих конкретных аргументах.
Доступность консоли
Начиная с Visual Studio 2017, NuGet и диспетчер пакетов NuGet устанавливаются автоматически при создании любых рабочих нагрузок, связанных с .NET, в Visual Studio. Вы также можете установить диспетчер пакетов, выбрав Отдельные компоненты>Инструменты для кода>Диспетчер пакетов NuGet в установщике Visual Studio.
Вы также можете найти расширение Диспетчера пакетов NuGet в меню "Расширения инструментов>" и "Обновления" или " Расширения ". Если вы не можете использовать установщик расширений в Visual Studio, вы можете скачать расширение непосредственно из https://dist.nuget.org/index.html.
Консоль диспетчера пакетов встроена в диспетчер пакетов для Visual Studio в Windows. Visual Studio Code и Visual Studio для Mac не включают консоль. Visual Studio для Mac имеет пользовательский интерфейс для управления пакетами NuGet, а эквивалентные команды консоли доступны через интерфейс командной строки NuGet. Дополнительные сведения см. в статье "Установка пакетов NuGet и управление ими" в Visual Studio для Mac.
Быстрый поиск и установка пакета
Чтобы быстро найти и установить пакет с помощью консоли диспетчера пакетов, выполните следующие действия.
Откройте проект или решение в Visual Studio, и выберите Инструменты>Диспетчер пакетов NuGet>Консоль диспетчера пакетов чтобы открыть окно консоли диспетчера пакетов.
В консоли введите
Find-Packageключевое слово, чтобы найти пакет, который требуется установить. Например, чтобы найти пакеты, содержащие ключевое словоelmah, выполните следующую команду. Если вы уже знаете имя пакета, пропустите этот шаг.Find-Package elmahНайдя имя, используйте
Install-Packageкоманду для установки пакета. Например, чтобы установитьElmah.MVCпакет, введите:Install-Package Elmah.MVC
Дополнительные сведения об этих командах см. в разделе "Поиск пакета " и " Установка пакета ".
Подсказка
Многие операции консоли зависят от наличия в Visual Studio открытого решения с известным именем пути. Если у вас есть несохраненное решение или нет решения, вы увидите ошибку Решение не открыто или не сохранено. Убедитесь, что у вас есть открытое и сохраненное решение. Чтобы исправить ошибку, создайте и сохраните решение или сохраните несохраненное решение.
Элементы управления консолью
Чтобы открыть консоль диспетчера пакетов в Visual Studio, выберите "Сервис>NuGet диспетчер пакетов>Консоль диспетчера пакетов" в верхнем меню. Консоль — это окно Visual Studio, которое можно упорядочить и разместить по мере того, как вы хотите. Дополнительные сведения см. в разделе "Настройка макетов окон" в Visual Studio.
По умолчанию команды консоли работают с определенным источником пакета и проектом, показанным в элементах управления в верхней части окна:
Выбор другого источника пакета или проекта изменяет значения по умолчанию для последующих команд. Чтобы переопределить эти параметры для отдельных команд без изменения значений по умолчанию, большинство команд консоли поддерживают -Source и -ProjectName параметры.
Чтобы управлять источниками пакетов, выберите значок шестеренки, чтобы открыть диалоговое окно
Кнопка в правом верхнем углу прерывает долго выполняющуюся команду. Например, запуск Get-Package -ListAvailable -PageSize 500 перечисляет первые 500 доступных пакетов на источнике по умолчанию, например nuget.org, что может занять несколько минут.
Найдите пакет
Чтобы найти пакет в источнике по умолчанию, используйте find-Package.
Чтобы найти и перечислить пакеты, содержащие определенные ключевые слова:
Find-Package <keyword1> Find-Package <keyword2>Поиск и перечисление пакетов, имя которых начинается со строки:
Find-Package <string> -StartWithПо умолчанию
Find-Packageвозвращается список из 20 пакетов. Используйте-Firstдля отображения большего количества пакетов. Например, чтобы отобразить первые 100 пакетов, используйте следующую команду:Find-Package <keyword> -First 100Список всех версий определенного пакета:
Find-Package <PackageName> -AllVersions -ExactMatch
Установка пакета
Чтобы установить пакет в проект по умолчанию, используйте Install-Package <PackageName>. Команда консоли install-Package выполняет следующие действия:
- Выполняет действия, описанные в разделе "Что происходит при установке пакета NuGet".
- Отображает применимые условия лицензии в окне консоли с подразумеваемым соглашением. Если вы не согласны с условиями, удалите пакет.
- Добавляет ссылку на пакет в файле проекта и в обозревателе решений в узле "Ссылки ". Перед просмотром изменений в файле проекта необходимо сохранить проект.
По умолчанию Install-Package добавляет пакет в проект, который указывает окно консоли по умолчанию. Чтобы добавить пакет в проект, который не является стандартным, используйте параметр -ProjectName. Например, чтобы добавить пакет Elmah.MVC в проект UtilitiesLib, который не является проектом по умолчанию, выполните следующую команду:
Install-Package Elmah.MVC -ProjectName UtilitiesLib
Удалите пакет
Чтобы удалить пакет из проекта по умолчанию, используйте Uninstall-Package <PackageName>. Если вам нужно найти имя пакета, используйте get-Package , чтобы просмотреть все пакеты, установленные в проекте по умолчанию.
Удаление пакета выполняет следующие действия:
- Удаляет ссылки на пакет из проекта и любые форматы управления. Ссылки больше не отображаются в обозревателе решений. Возможно, потребуется перестроить проект, чтобы удалить ссылку в папке bin .
- Отменяет любые изменения, внесённые в app.config или web.config при установке пакета.
- Удаляет ранее установленные зависимости, если остальные пакеты не используют эти зависимости.
Чтобы удалить пакет и все неиспользуемые зависимости, выполните следующую команду:
Uninstall-Package <PackageName> -RemoveDependencies
Чтобы удалить пакет, даже если другие пакеты зависят от него, выполните следующую команду:
Uninstall-Package <PackageName> -Force
Обновление пакета
Чтобы обновить пакет, используйте get-Package и Update-Package. Вы можете выполнить следующие команды:
Чтобы проверить наличие более новых версий для всех установленных пакетов:
Get-Package -updatesЧтобы обновить конкретный пакет, выполните указанные действия.
Update-Package <PackageName>Чтобы обновить все пакеты в проекте, выполните приведенные далее действия.
Update-Package -ProjectName <ProjectName>Чтобы обновить все пакеты в решении, выполните следующие действия.
Update-Package
Использование интерфейса командной строки NuGet в консоли
Вы также можете выполнять большинство операций консоли с помощью интерфейса командной строки NuGet. Однако команды консоли PowerShell работают в контексте сохраненного проекта и решения Visual Studio и часто выполняют больше, чем их эквивалентные команды Интерфейса командной строки NuGet. Например, при установке пакета с помощью Install-Package добавляется ссылка на файл проекта, но команда NuGet CLI не выполняется. По этой причине разработчики, работающие в Visual Studio, обычно предпочитают использовать команды консоли, а не интерфейс командной строки NuGet.
Чтобы использовать команды Интерфейса командной строки NuGet в консоли диспетчера пакетов, установите пакет NuGet.CommandLine .
Install-Package NuGet.CommandLine
Предыдущая команда устанавливает последнюю версию интерфейса командной строки NuGet. Чтобы установить определенную версию, используйте -Version. Например, чтобы установить версию 4.4.1, введите:
Install-Package NuGet.CommandLine -Version 4.4.1
После установки NuGet.CommandLine пакета можно выполнить все команды интерфейса командной строки NuGet с помощью консоли диспетчера пакетов.
Расширение консоли диспетчера пакетов
Некоторые пакеты устанавливают новые команды для консоли. Например, MvcScaffolding создает команды вроде Scaffold, которые генерируют контроллеры и представления MVC ASP.NET.
Настройка профиля NuGet PowerShell
Вы можете создать профиль PowerShell, чтобы сделать часто используемые команды доступными во всех контекстах PowerShell, поэтому параметры PowerShell между сеансами не теряются. NuGet поддерживает профиль, специфичный для NuGet, который обычно находится в %UserProfile%\Documents\WindowsPowerShell\NuGet_profile.ps1.
Чтобы найти расположение профиля пользователя, введите $profile в консоли:
$profile
C:\Users\<user>\Documents\WindowsPowerShell\NuGet_profile.ps1
Чтобы определить, существует ли профиль в этом расположении, введите test-path $profile. Если команда возвращает False, необходимо создать профиль с указанным именем в этой локации. Дополнительные сведения см. в разделе "Профили Windows PowerShell".