Выпущена новая версия пакетного менеджера NuGet 1.6
Вчера пакетный менеджер NuGet для платформы .NET получил очередное обновление до версии 1.6. Ниже перечислены нововведения в новой версии.
Семантическое версионирование
Добавлена поддержка механизма семантического версионирования (Semantic Versioning (SemVer), который позволяет задавать условия зависимостей пакетов по версиям в определенной нотации. Например:
1.0 = 1.0 ≤ x
(,1.0] = x ≤ 1.0
(,1.0) = x < 1.0
[1.0] = x == 1.0
(1.0,) = 1.0 < x
(1.0,2.0) = 1.0 < x < 2.0
[1.0,2.0] = 1.0 ≤ x ≤ 2.0
пустое значение = последняя версия.
Описание нотации и документация по версионированию в NuGet 1.6 доступна по следующей ссылке.
Восстановление пакетов в проекте (Package restore)
NuGet 1.6 представляет новый механизм, который упростит интеграцию проектов с системами контроля версий. Теперь проекту не обязательно хранить пакеты в системе контроля версий, вместо этого хранится будут файлы конфигураций пакетов packages.config
, а NuGet возьмет на себя работу по извлечению всех необходимых пакетов для сборки проекта.
Как это работает:
воспользуйтесь новым пунктом меню решения для включения механизма Package restore
В решении будет добавлена служебная папка .nuget содержащая nuget.exe и скрипт MSBuid NuGet.targets
Теперь вашим проектам в решении не обязательно содержать бинарные пакеты или тем более хранить их в системе контроля версий, во время компиляции все необходимые пакеты будут автоматически загружены и установлены.
Шаблоны проектов с поддержкой NuGet
NuGet 1.6 поддерживает шаблоны проектов и элементов Visual Studio 2010, которые теперь могут включать в себя возможность предустанавливать необходимые для работы шаблона пакеты NuGet.
Подробную информацию о том как создавать шаблоны проектов Visual Studio 2010 с поддержкой NuGet читайте в этом руководстве. Для ознакомления доступен демонстрационный проект, который можно загрузить отсюда.
Поддержка выключения источников пакетов
Когда вы используете множество источников пакетов, помимо официального фида пакетов с nuget.org (это могут быть ваши собственные фиды, тестовые фиды, фиды компании, фиды с сервисов в интернете и так далее), то иногда может потребоваться временно исключить некоторые из источников пакетов так, чтобы NuGet не пытался найти в них пакеты при установке.
В NuGet 1.6 такой функционал добавлен в настройки списка источников пакетов Visual Studio 2010:
Исправления ошибок
В новой версии NuGet 1.6 было закрыто 106 позиций багтрекера, 95 из которых были помечены как баги, а 10 - как запросы на новые функции.
Установка
Внимание. Для обновления NuGet с предыдущей версии до новой вам необходимо установить исправление для Visual Studio 2010, которое устраняет найденную ошибку, связанную с установкой подписанных расширений. Установите обновление KB2581019 с сайта Connect. Если вы не хотите или не можете установить обновление, то перед обновлением до новой версии удалите предыдущую версию NuGet.