Недавно пакетный менеджер NuGet для платформы .NET получил очередное обновление до версии 1.4. Здесь рассматриваются основные нововведения в новой версии. Полный и подробный список нововведений доступен на официальном сайте.

Больше функций команды Update-Package

Команда Update-Package получила сразу несколько дополнительных возможностей:

  • обновление всех пакетов в одном проекте: Update-Package -Project MvcApplication1;
  • обновление пакета во всех проектах сразу: Update-Package PackageId;
  • обновление всех пакетом во всех проектах: Update-Package;
  • осуществление безопасного обновления всех пакетов: Update-Package –Safe.

Безопасное обновление подразумевает обновление пакетов только на новые минорные версии: например на 1.0.2, но не на 1.1.

Управление пакетами на уровне решения

В новой версии NuGet появилась возможность управлять пакетами c помощью GUI не только на уровне отдельного проекта, но и сразу на уровне решения. Это позволит, например, установить пакет сразу для всех проектов.

image image

Для запуска окна управления пакетами для решения, выберите пункт Manage NuGet Packages из меню опций решения.

Ограничение по обновлению до версий

В файле описания списка пакетов проекта packages.config добавлено новое свойство allowedVersions, которое позволяет ограничить для определенных пакетов версию, до которой пакет может обновляться. Например, ниже пакет SomePackage ограничивается версиями от 2.0 (включительно) до 3.0 (3.0 исключается).

image

Формат описания диапазона версий описан тут.

Визуализатор пакетов

В NuGet 1.4 включен новый инструмент, который позволяет визуализировать установленные пакеты в решении со всеми зависимостями.

image

Этот инструмент доступен только для Visual Studio 2010 Premium и выше.

Автоматическая проверка наличия новой версии NuGet

В GUI пакетного менеджера добавлена возможность автоматической проверки наличия новой версии NuGet с нотификацией и возможностью обновления.

Другие улучшения

  • диалоги: переименованы некоторые пункты меню, диалог NuGet теперь отображает теги пакетов, отображается дата последнего обновления пакета;
  • PowerShell: добавлены подписанные скрипты для использования в средах с ограничениями, консоль поддерживает возможность получения пользовательского ввода через $host.ui.Prompt и $host.ui.PromptForChoice;
  • множественные улучшения командного интерпретатора nuget.exe;
  • новые возможности сервера NuGet по работе с nuget.exe;
  • закрыто 88 инцидентов, из них 71 были помечены как баги.