NuGet: Как сохранить версии пакетов в нескольких решениях? - программирование
Подтвердить что ты не робот

NuGet: Как сохранить версии пакетов в нескольких решениях?

Мы создаем набор из нескольких сервисов, каждая служба имеет собственное решение с соответствующими проектами. Многие из этих сервисов полагаются на те же пакеты NuGet.
Все решения имеют "Восстановление пакетов".

Некоторые из решений относятся к сборкам, принадлежащим другим решениям, это одна очевидная причина, по которой нам нужны все решения для обращения к точно таким же версиям различных пакетов NuGet.

Все сервисы должны работать вместе для достижения конечного результата. Они упакованы и установлены как часть одного продукта, что является еще одной причиной, по которой мы хотели бы, чтобы все было запущено с теми же версиями пакетов NuGet

У нас возникают проблемы с совместимостью версий пакетов между решениями.

В настоящее время мы вручную проверяем и обновляем версии пакета, мы также получаем случайные ошибки компиляции, потому что проекты в одном решении заканчиваются ссылкой на разные версии одного и того же пакета.

Есть ли рекомендуемый способ сделать это (надеюсь, автоматический процесс)?
Можем ли мы стать лучше без восстановления пакетов?
У кого-нибудь есть общие рекомендации по этому вопросу?

Спасибо

Обновление: я создал проблему для этого в проекте NugGet http://nuget.codeplex.com/workitem/2623

4b9b3361

Ответ 1

Чтобы решить эту проблему:

  • Создайте свой собственный сервер NuGet (см. 1 и 2), в котором размещаются правильные версии используемых вами пакетов.
  • Настройте каждую систему сборки для использования этого сервера и автоматического обновления до последней версии.

Хотя для этого требуется сервер, он не только гарантирует, что все имеют правильную версию, но также ускоряют загрузку для серверов сборки.

Ответ 2

Вы можете настроить свои сборки TFS для обновления всех пакетов NuGet в решении до последних версий с помощью команды nuget update.

Последние версии могут быть от nuget.org, локального сервера NuGet или даже сетевого ресурса. Используйте параметр source, чтобы определить источники, из которых вы хотите обновить.

Вы можете выполнить конфигурацию сборки через proj файлы MsBuild или через шаблон TFS.