Итак, я включил восстановление пакетов в своих решениях. -Установить -Пакет NuGetEnablePackageRestore
Я установил и обновил NuGet на сервере сборки TFS
. Я создал переменную среды на сервере сборки TFS.-http://www.centrolutions.com/blog/post/2012/07/05/NuGet-and-TFS-2010-Automated-Build.aspx
Я удалил все свои файлы packages.config и начал заново для каждого проекта.
Я добавил путь к папке.nuget в задание сборки,вместе с определенной папкой агента сборки
Я почти закончил свою петлю и планирую повеситься на рассвете... я что-то упускаю?
Забыл поставить ошибки сборки TFS
C :\Builds\10......nuget\nuget.targets (76 ):Восстановление пакетов по умолчанию отключено. Чтобы дать согласие, откройте диалоговое окно «Параметры Visual Studio», щелкните узел «Диспетчер пакетов» и установите флажок «Разрешить NuGet загружать отсутствующие пакеты во время сборки». Вы также можете дать согласие, установив для переменной среды «EnableNuGetPackageRestore» значение «true».
и
C :\Builds\10.......nuget\nuget.targets (76 ):Команда ""C :\Builds\10.......nuget\nuget. exe" install "C :\Builds\10......\packages.config" -source "" -o "C :\Builds\10......\packages "" завершен с кодом -1.
Удален полный путь для безопасности.
ОТКРЫТИЕ:
Мой администратор TFS установил переменную среды как переменную USER! Я просто решил попросить ее показать мне, как именно она настроила его, и как только она это сделала, я понял, что это неправильно.
Я больше не получаю сообщение об ошибке восстановления пакета... wooo! Однако я получаю сообщение об ошибке «Невозможно найти версию», из-за чего я думаю, что поле TFS не знает правильных источников пакетов. Я проверил, что источник пакета доступен из блока сборки TFS, а также настроил NuGet в этом блоке, чтобы иметь ссылку на общие ресурсы пакета.
Можно ли это сделать без сервера пакетов? Я использую файловые ресурсы для всех своих локальных сборок, но мне интересно, меняются ли правила, когда они попадают в поле TFS. Нужно ли определять источники пакетов в файле Nuget.config?