2013-05-03 2 views
3

В решении ВС, я как зависимости (в файле packages.config)Как предотвратить обновление Nuget автоматически (незначительными) версиями?

  • пакет A, версия 2.0.0, которая имеет зависимость от пакета B версии> = 5.0.0.0. Последняя версия A равна 2.1.0 и имеет те же зависимости, что и в 2.0.0
  • пакет B, версия 10.0.0.0. Последняя версия 10.0.5.2

Я хочу обновить пакет A 2.1.0, так что я попробовал команду

update-package A 

в «пакете менеджер консоли». Но, как ни странно, Nuget также обновляет пакет B до 10.0.5.2.

Кто-то сказал мне, что по умолчанию Nuget обновит версию исправления ошибок, но я не нашел ссылку об этом.

Кто-нибудь знает, как сообщить Nuget, чтобы он не обновлял другие пакеты автоматически? не

Для информации, я использую NuGet 2,5, поэтому в соответствии с http://docs.nuget.org/docs/reference/versioning, зависимости больше не обновляется при установке пакета

Спасибо.

+0

это ваши собственные внутренние пакеты NuGet или они существуют в официальном репозитории NuGet? Если последнее, возможно, поможет, если вы можете указать, какие пакеты и какие версии вы столкнулись с этой проблемой. – Nailuj

ответ

2

Насколько я знаю, это невозможно, и это основная причина, по которой мы создали ProGet Client Tools.

Возможно, вам удастся уточнить явную версию, скопировав ее в скобках (например, [10.0.0.0]) в файле packages.config, но при попытке попробовать все-таки ухватить версию исправления ошибок, хотя я не знаю, t тестировал его в последней версии.

Для справки, алгоритм выбора версии зависимостей NuGet подробно описана здесь: http://blog.davidebbo.com/2011/01/nuget-versioning-part-2-core-algorithm.html

+2

Эта ссылка на алгоритм версии зависимости NuGet немного устарела, и теперь ситуация может измениться с выпуском NuGet 2.5 (http://docs.nuget.org/docs/release-notes/nuget-2.5#Dependencies_are_no_longer_unnecessarily_updated_during_package_installation), обратите внимание, в частности, часть о _Dependencies больше не излишне обновляется во время установки пакета_. За дополнительной информацией обратитесь к соответствующему рабочему элементу (https://nuget.codeplex.com/workitem/1681) и дискуссионному потоку (https://nuget.codeplex.com/discussions/436712). – Nailuj