NuGet и распределенное управление версиями (DVCS)
Интересно, можно ли использовать nuget только для хранения ссылок на требуемые пакеты в управлении версиями (только пакет .config и игнорировать папку пакетов).
Есть ли способ сказать nuget (re) загрузить все ссылочные пакеты в различные файлы package.config? Или что-то подобное, которое можно было бы добавить в сборку script.
Update:
Кажется, я не единственный, кто запросил эту функцию: См. этот рабочий элемент (спасибо PHeiberg за подсказку)
Обновление 2:
Теперь у NuGet появилась эта функция. Подробнее см. Использование NuGet без передачи пакетов в исходный код. Все остальное - добавить каталог пакетов в .gitignore или какой-то эквивалент вашего VCS (/packages/
выполнит трюк, если он у вас есть в корневом каталоге вашего репозитория и использует git).
Ответы
Ответ 1
Я только что узнал о NuGetPowerTools: https://github.com/davidfowl/NuGetPowerTools
Также см.: http://blog.davidebbo.com/2011/08/easy-way-to-set-up-nuget-to-restore.html
Обновление: теперь NuGet 1.6 поддерживает восстановление пакетов: http://docs.nuget.org/docs/release-notes/nuget-1.6
Ответ 2
Я не знаю о вашем первом вопросе.
Что касается того, что CI-сервер автоматически обновляет пакеты, это можно сделать теоретически. Вы можете связать команды "List-Package -Installed" и "Update-Package" и обновить каждый пакет до последней версии. Подробнее см. Ссылку для справки.
Скотт Гатри говорит об этом по теме:
"Вы можете интегрировать командную строку с помощью решения CI и выполните update-package явно часть процесса сборки /CI для вытягивания вниз. Честно говоря, я не уверен что имеет смысл для сценариев, которые мы говорят, хотя, как обычно вы хотите, чтобы какой-либо разработчик решил перед обновлением базовой среды выполнения зависимость от новой версии. NuPack-х модель по умолчанию имела бы разработчика используйте NuPack для установки библиотеки - и NuPack автоматически проверит пакет и зависимости от источника контроль. Таким образом, другой dev (или CI-сервер) не потребуется использовать NuPack снова - они могут просто синхронизировать свои источника и сборки. Но, как я упоминал раньше - если вы хотите явно сделать обновление как часть вашего CI вы можете".
Edit:
После вашего комментария я вижу, чего вы пытаетесь достичь. Я нашел этот длинный поток в списке обсуждений NuPack по этой проблеме. Решение, по-видимому, не будет частью v1. Задача пользовательской сборки в CI по вашему выбору и конфигурация вашего репо для него - единственное решение, которое я вижу. Пожалуйста, сообщите о результатах. Меня заинтересовали.
Ответ 3
Существует текущая дискуссия по этому вопросу в блоге Phil Haack, где он просит получить отзывы о том, как решить этот вопрос.