Официальный сайт проекта: https://www.nuget.org/
Под управлением подразумевается поиск, скачивание, установка, настройка, обновление и удаление файлов сторонних разработчиков у себя в приложении.
Технически NuGet Manager представляет собой расширение для Visual Studio, доступное программисту в процессе работы над своим проектом. Если вы используете «студию» версии 2012 и выше, то NuGet уже заранее предустановлен и готов к работе. В случае версии 2010 его нужно установить вручную. Его можно скачать либо с официального сайта, либо установить напрямую из Visual Studio через менеджер дополнений.
Давайте откроем менеджер. Для этого в Solution Explorer щелкаем правой кнопкой мыши по рабочему проекту и в контекстном меню выбираем пункт «Manage NuGet Packages…»:
NuGet Manager открывается в новой вкладке в текстовом редакторе. Интерфейс у него довольно простой.
Три главные вкладки:
- Browse. Найти и установить нужные нам пакеты из хранилища NuGet
- Installed. Список уже установленных в нашем проекте библиотек
- Updates. Библиотеки в нашем проекте, которые можно обновить до новой версии
Также в интерфейсе менеджера представлены:
- Строка поиска. Мы можем искать нужную нам библиотеку, начав вводить ее название
- Кнопка «Обновить состояние окна»
- Галочка «Включать в выдачу предрелизные версии библиотек», например, какие-то тестовые или экспериментальные
- Выпадающий список Package source. В каком месте менеджер будет искать нужные нам библиотеки
- Кнопка «Настройки менеджера»
- Главная панель с результатами выдачи (слева)
- Панель с описанием того компонента, который мы выбрали (справа)
Попробуем установить какую-нибудь библиотеку к нам в проект, например, Entity Framework. Для этого переходим во вкладку Browse и в строке поиска начинаем вводить название нужного пакета. Далее выбираем его из списка и нажимаем кнопку Install. При необходимости можно выбрать определенную версию, отличную от стабильной последней, а также ознакомиться с информацией о данном пакете (авторы, лицензия и т.д.).
В зависимости от устанавливаемого пакета NuGet Manager также определит все его зависимости, или, другими словами, все дополнительные библиотеки, которые требуются устанавливаемому пакету для полноценной работы. В случае с Entity Framework таких зависимостей нет.
Теперь давайте более детально посмотрим, что конкретно сделал менеджер при установке этого компонента в наш проект:
1. Он определил, что для данного пакета нет никаких сторонних зависимостей. Если бы они были, то менеджер автоматически их определил и подтянул.
2. NuGet Manager добавил ссылку на установленный компонент в наш проект (References):
3. NuGet разместил скачанные файлы в специальной папке Packages, которая находится в корневой папке нашего приложения. Это очень удобно, ссылки в проекте теперь идут на эту папку:
4. В конфигурационный файл packages.config была добавлена запись о новом пакете:
5. В конфигурационный файл приложения web.config также были внесены необходимые изменения, чтобы подготовить компонент Entity Framework к работе:
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb"/>
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
</providers>
</entityFramework>
Вот такие операции происходят, когда NuGet Manager добавляет новую библиотеку к нам в проект.
Подобным образом происходит и обновление, и удаление компонентов из нашего проекта. В случае удаления менеджер также автоматически вносит изменения в файлы нашего проекта – убирает записи из файла packages.config, удаляет соответствующие файлы в папке packages, убирает ссылки на эти библиотеки.
Давайте рассмотрим еще несколько моментов.
С NuGet Manager можно работать не только через графический интерфейс, но и через командную строку (консоль). Чтобы ее открыть, идем Tools -> NuGet Package Manager -> Package Manager Console.
Работа в консоли ничем не отличается от работы в графическом интерфейсе, это дело вкуса.
Управление осуществляется посредством специальных команд. Чтобы вывести в консоль список всех доступных команд нужно написать инструкцию:
Команд достаточно много, и описание каждой можно найти в официальной документации на сайте. Вот пример использования наиболее популярных команд.
Добавляем пакет Entity Framework в текущий проект:
Обновляем ранее установленный пакет:
Переустанавливаем ВСЕ пакеты во всех проектах в данном решении:
Вы также можете создать и опубликовать свой собственный пакет в репозиторий nuget.org, тем самым сделав его публичным и доступным через NuGet Manager. Для этого нужно соблюсти ряд правил и условий, а также правильно подготовить свой проект к публикации. Опять же всю информацию об этом можно найти в официальной документации.
Подведем краткий итог. NuGet – это просто незаменимый инструмент для разработчика на сегодняшний день. Он автоматизирует весь процесс работы с пакетами в проекте, а именно поиск, скачивание, установка, настройка, обновление и удаление файлов.
В видео версии этого урока более подробно и наглядно показана работа с этим инструментом.