Установка клиентских средств NuGet
Чтобы работать с NuGet в качестве потребителя или создателя пакета, вы можете использовать средства интерфейса командной строки (CLI) и функции NuGet в Visual Studio. В этой статье кратко описываются возможности различных средств, их установка и приведена сравнительная таблица доступности функций.
Чтобы приступить к использованию NuGet для использования пакетов, ознакомьтесь со следующими разделами:
- Установка и использование пакета (dotnet CLI)
- Установка и использование пакета (Visual Studio)
Чтобы приступить к созданию пакетов NuGet, см. статью:
- Создание и публикация пакета .NET Standard (CLI dotnet)
- Создание и публикация пакета .NET Standard (Visual Studio)
MSBuild CLI также предоставляет возможности восстановления и создания пакетов, которые применяются на серверах сборки. MSBuild не является универсальным средством для работы с NuGet.
Команды консоли диспетчера пакетов работают только в Visual Studio для Windows, но не в других средах PowerShell.
Visual Studio
Установка в Visual Studio 2017 и более поздней версии
Начиная с версии Visual Studio 2017, установщик содержит диспетчер пакетов NuGet с любой рабочей нагрузкой, использующей .NET. Чтобы установить отдельно или убедиться, что диспетчер пакетов установлен, запустите установщик Visual Studio и установите флажок в разделе Диспетчер пакетов NuGet для отдельных средств > кода компонентов>.
Установка в Visual Studio 2015 и более ранних версий
Расширения NuGet для Visual Studio 2013 и 2015 можно скачать по ссылке https://dist.nuget.org/index.html.
Для Visual Studio 2010 и более ранних версий установите расширение «Диспетчер пакетов NuGet для Visual Studio». Обратите внимание, что если расширение не отображается на первой странице результатов поиска, попробуйте изменить раскрывающийся список Сортировка по на «Большинство загрузок» или в алфавитном порядке.
Средства CLI
Для поддержки функций NuGet в интегрированной среде разработки dotnet можно использовать cli или nuget.exe CLI. Средство CLI dotnet устанавливается вместе с некоторыми рабочими нагрузками Visual Studio, например .NET Core. Средство CLI nuget.exe нужно установить отдельно, как описано выше.
Два средства CLI для NuGet — dotnet.exe и nuget.exe . См. сравнительную таблицу доступности функций.
- Для нацеливания на .NET Core или .NET Standard используйте CLI для .NET. CLI dotnet является обязательным для проекта на основе пакета SDK, использующего атрибут SDK.
- Для нацеливания на .NET Framework (только проекты не на основе пакетов SDK) используйте CLI nuget.exe . Если проект переносится из packages.config в PackageReference, используйте CLI dotnet.
Интерфейс командной строки dotnet.exe
Интерфейс командной строки .NET Core 2.0, dotnet.exe , работает на всех платформах (Windows, Mac и Linux) и предоставляет такие возможности NuGet, как установка, восстановление и публикация пакетов. dotnet обеспечивает прямую интеграцию с файлами проекта .NET Core (например, .csproj ), что полезно в большинстве сценариев. dotnet также создается непосредственно для каждой платформы и не требует установки Mono.
- на компьютерах разработчиков установите пакет SDK для .NET Core; Начиная с версии Visual Studio 2017, средство CLI dotnet автоматически устанавливается вместе с любыми рабочими нагрузками, связанными с .NET Core.
- для серверов сборки следуйте инструкциям в статье Использование пакета SDK и средств .NET Core при непрерывной интеграции (CI).
Сведения об использовании основных команд с CLI dotnet см. в статье Установка и использование пакета с помощью CLI dotnet.
Интерфейс командной строки nuget.exe
Интерфейс командной строки nuget.exe ( nuget.exe ) — это программа командной строки для Windows, которая предоставляет все возможности NuGet. С некоторыми ограничениями ее также можно запустить на Mac OSX и Linux с помощью Mono.
Сведения об использовании основных команд с CLI nuget.exe см. в статье Установка и использование пакета с помощью CLI nuget.exe.
Windows
Для выполнения NuGet.exe 5.0 и более поздних версий требуется .NET Framework 4.7.2 или более поздней версии.
- Перейдите к странице nuget.org/downloads и выберите NuGet 3.3 или более поздней версии (версия 2.8.6 не совместима с Mono). Рекомендуем всегда использовать последнюю версию. Кроме того, для публикации пакетов на nuget.org требуется версия 4.1.0 и выше.
- Для каждой версии непосредственно скачивается файл nuget.exe . Укажите браузеру сохранять файл в выбранную вами папку. Этот файл не является установщиком. Если запустить его непосредственно из браузера, ничего не отображается.
- Добавьте папку с nuget.exe в переменную среды PATH, чтобы использовать средство CLI из любого расположения.
Mac OS и Linux
Поведение для этих ОС может несколько различаться.
- Установите Mono 4.4.2 или более поздней версии.
- В командной строке оболочки введите следующие команды:
# Download the latest stable `nuget.exe` to `/usr/local/bin` sudo curl -o /usr/local/bin/nuget.exe https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
# Create as alias for nuget alias nuget="mono /usr/local/bin/nuget.exe"
Вы можете обновить существующий nuget.exe до последней версии с помощью команды nuget update -self в Windows.
Последняя рекомендуемая версия интерфейса командной строки NuGet всегда доступна по адресу https://dist.nuget.org/win-x86-commandline/latest/nuget.exe . Для обеспечения совместимости со старыми системами непрерывной интеграции предыдущий URL-адрес в https://nuget.org/nuget.exe настоящее время предоставляет нерекомендуемое средство CLI версии 2.8.6.
Доступность функций
Компонент | 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.
Связанные темы
- Установка пакетов и управление ими с использованием Visual Studio
- Установка пакетов и управление ими с использованием PowerShell
- Установка пакетов и управление ими с использованием CLI dotnet
- Установка пакетов и управление ими с использованием CLI nuget.exe
- Справочник по PowerShell для консоли диспетчера пакетов
- Создание пакета
- Публикация пакета
Разработчики, работающие в Windows, также могут рассмотреть обозреватель пакетов NuGet, автономное средство с открытым исходным кодом, позволяющее визуально изучать, создавать и изменять пакеты NuGet. Это очень удобно, например, для внесения экспериментальных изменений в структуру пакета без необходимости его перестроения.
Обзор интерфейса командной строки .NET
Интерфейс командной строки (CLI) .NET — это кроссплатформенная цепочка инструментов для разработки, сборки, запуска и публикации приложений .NET.
Интерфейс командной строки .NET входит в пакет SDK для .NET. Сведения об установке пакета SDK для .NET см. в статье Установка .NET Core.
Команды CLI
По умолчанию устанавливаются следующие команды:
Основные команды
Команды для изменения проекта
- add package
- add reference
- remove package
- remove reference
- list reference
Расширенные команды
Команды управления средством
- tool install
- tool list
- tool update
- tool restore (доступна, начиная с пакета SDK для .NET Core 3.0)
- tool run (доступна, начиная с пакета SDK для .NET Core 3.0)
- tool uninstall
Средства — это консольные приложения, которые устанавливаются из пакетов NuGet и вызываются из командной строки. Вы можете писать средства самостоятельно или устанавливать средства, написанные другими. Средства также называются глобальными средствами, средствами пути к средству и локальными средствами. Дополнительные сведения см. в обзоре средств .NET.
Структура команд
Структура команд CLI состоит из драйвера («dotnet»), самой команды и ее возможных аргументов и параметров. Этот шаблон используется в большинстве операций интерфейса командной строки, таких как создание консольного приложения и его запуск из командной строки, как показывают следующие команды при выполнении из каталога my_app:
dotnet new console dotnet build --output ./build_output dotnet ./build_output/my_app.dll
Драйвер
Драйвер называется dotnet и имеет два вида ответственности — выполнение платформозависимого приложения или выполнение команды.
Для запуска платформозависимого приложения укажите его драйвера, например dotnet /path/to/my_app.dll . При выполнении команды из папки, где находится библиотека DLL приложения, просто выполните dotnet my_app.dll . Если вы хотите использовать конкретную версию среды выполнения .NET, используйте параметр —fx-version (см. справку по —fx-version ).
При указании команды для драйвера dotnet.exe запускает процесс выполнения команды CLI. Пример:
dotnet build
Сначала драйвер определяет нужную версию пакета SDK. Если файл global.json отсутствует, используется последняя доступная версия пакета SDK. Это может быть предварительная или стабильная версия, в зависимости от того, какая версия является последней на компьютере. После определения версии пакета SDK он выполняет команду.
Команда
Команда выполняет действие. Например, dotnet build проводит сборку кода. dotnet publish публикует код. Команды реализуются как консольное приложение с использованием соглашения dotnet .
Аргументы
Аргументы, указываемые в командной строке, передаются непосредственно в вызываемую команду. Например, если выполнить dotnet publish my_app.csproj , аргумент my_app.csproj указывает публикуемый проект и передается в команду publish .
Параметры
Параметры, указываемые в командной строке, передаются непосредственно в вызываемую команду. Например, при выполнении dotnet publish —output /build_output параметр —output и его значение передаются в команду publish .
См. также
- Репозиторий GitHub dotnet/sdk
- Руководство по установке .NET
При подготовке материала использовались источники:
https://learn.microsoft.com/ru-ru/nuget/install-nuget-client-tools
https://learn.microsoft.com/ru-ru/dotnet/core/tools/