Заметки о выпуске NuGet 2.7.2
Заметки | о выпуске NuGet 2.7.1
NuGet 2.7.2 выпущен 11 ноября 2013 года.
Важные исправления ошибок и функции
Текст лицензии
В течение некоторого времени корпорация Майкрософт включила пакеты NuGet для нескольких популярных библиотек с открытым кодом в составе шаблонов по умолчанию для проектов веб-приложений в Visual Studio. jQuery, вероятно, является самым известным примером этой библиотеки. Из-за соглашения о поддержке, связанного с компонентами, которые поставляется вместе с продуктом, файл скрипта пакета содержит другой текст лицензии, чем файл скрипта, найденный в том же пакете в общедоступной коллекции nuget.org. Это различие в тексте может препятствовать обновлению пакетов в результате различных блоков текста лицензии, что приводит к тому, что файлы скриптов имеют разные хэш-значения содержимого (и поэтому следует рассматривать как измененные в проекте).
Чтобы устранить эту проблему, NuGet 2.7.2 позволяет автору скрипта включить блок текста лицензии в специально помеченный раздел, который выглядит следующим образом.
/************** NUGET: BEGIN LICENSE TEXT **************
* The following code is licensed under the MIT license
* Additional license information below is informational
* only.
************** NUGET: END LICENSE TEXT ***************/
При обновлении пакетов с файлами содержимого, содержащими этот блок, NuGet не учитывает содержимое блока в сравнении с версией в коллекции NuGet, поэтому может удалить и обновить файл содержимого, как если бы он соответствовал исходной копии.
Этот блок определяется текстом NUGET: BEGIN LICENSE TEXT и NUGET: END LICENSE TEXT, происходящим в любом месте в начале и конце строк. Никакие другие требования к форматированию не существуют, позволяя использовать эту функцию в любом типе текстового файла независимо от языка.
Добавление перенаправлений привязки для сборок, отличных от платформы
Для сборок, входящих в платформа .NET Framework, NuGet пропускает добавление перенаправлений привязки в файл конфигурации приложения при обновлении пакета. Это исправление устраняет регрессию в NuGet 2.7, при котором перенаправления привязок не добавляются для некоторых сборок, даже если эти сборки не считаются частью платформа .NET Framework. NuGet 2.7.2 восстанавливает предыдущее поведение NuGet 2.5 и 2.6 и добавляет перенаправления привязки.
Установка переносимых библиотек с установленными средствами Xamarin
Когда средства разработки Xamarin устанавливаются на компьютере, они изменяют данные конфигурации поддерживаемых платформ, чтобы указать совместимость между существующими сочетаниями целевых платформ и платформами Xamarin. В версии 2.7.2 NuGet теперь знает об этих неявных правилах совместимости, поэтому разработчики, предназначенные для платформ Xamarin, могут устанавливать переносимые библиотеки, совместимые с Xamarin, но не помеченные явным образом как такие в самом метаданных пакета.
Параметры конфигурации на уровне компьютера учитываются
При использовании иерархических файлов Nuget.Config ключ репозитория Не учитывается для файлов Nuget.Config, ближайших к корневому каталогу решения. В Visual Studio 2013 NuGet устанавливает пользовательский файл Nuget.Config по адресу %ProgramData%\NuGet\Config\VisualStudio\12.0\Microsoft.VisualStudio.config, чтобы добавить источник пакета Microsoft и .NET. В результате для использования пользовательского репозиторияPath в решении было удаление конфигурации Nuget.Config на уровне компьютера, что также означало удаление источника пакета Microsoft и .NET. NuGet 2.7.2 теперь учитывает правила приоритета для репозиторияPath при использовании иерархических файлов Nuget.Config.
Все изменения
Полный список рабочих элементов, исправленных в NuGet 2.7.2, см. в разделе [NuGet Issue Tracker for this release](https://nuget.codeplex.com/workitem/list/advanced?keyword=&status=All&type=All&priority=All&release=NuGet%202.7.2&assignedTo=All&component=All&sortField=LastUpdatedDate&sortDirection=Descending&page=0&reasonClosed=Fixed)
.