Вытягивание зависимостей nuget при сборке
Я использую сервисы сборки myget с веб-хуком github для сборки пакетов nuget при каждом нажатии на github.
Репозиторий github находится на уровне проекта, поэтому папка пакетов (которая находится на уровне sln) не перемещается.
Так что моя сборка не удалась, потому что у нее нет зависимостей. Какова лучшая практика здесь? Я хотел бы получить зависимости с nuget во время сборки. Возможно ли это с myget и если да, то как я могу это настроить. Я смотрел на восстановление пакета, но это также создает конфигурацию на уровне sln, поэтому я не думаю, что это может мне помочь.
1 ответ
Вы можете подключиться к MyGet Build Services, используя собственный скрипт сборки, как описано в документации: http://docs.myget.org/docs/reference/build-services
Затем вы можете использовать NuGet для восстановления пакетов самостоятельно: http://docs.myget.org/docs/how-to/make-use-of-nuget-within-your-build-scripts
Настоящая проблема заключается в том, что ваш проект ссылается на библиотеки, которые находятся за пределами корневого каталога вашего репозитория. Я бы посоветовал вам соблюдать соглашение по умолчанию о наличии следующей структуры каталогов в вашем хранилище:
$(SolutionDir) = repository root
\ProjectDir
Вы можете либо включить решение для конкретного проекта в каталог решений (и иметь проект в своем собственном подкаталоге), либо использовать сценарий сборки в каталоге решений, который восстанавливает пакеты в папке $(SolutionDir)\Packages (вы можете создать его на лету, пока он находится внутри каталога оформления заказа, и вызвать nuget.exe install
в ваших пакетах.config).