Недавно я начал внедрять автоматическую сборку для нашего программного пакета с использованием TFS. Я пытаюсь установить как можно меньше на сервере сборки и хотел бы избежать проверки в сторонних библиотеках в нашем исходном репозитории.Пакет восстановления TFS NuGet не работает - Microsoft.webapplication.targets
Один из наших проектов не может строить с с отсутствующей зависимостью:
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
Это не удивительно, так как у меня нет Visual Studio (или Team Explorer и т.д.), установленный на сервере сборки. Чтобы обойти эту проблему, я пытаюсь использовать NuGet с автоматическим восстановлением пакетов, чтобы предоставить соответствующую библиотеку (MSBuild.Microsoft.VisualStudio.Web.targets). Я прочитал массу сообщений как здесь, так и в других местах, но не смог заставить это работать должным образом. В принципе, я:
- Установка переменной окружения на сервере сборки: EnableNuGetPackageRestore = истина
- следуют инструкциям по адресу: http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages
- Добавлен все файлы в SolutionDir.nuget в хранилище TFS.
- Добавьте папку пакетов и respositories.config в репозиторий TFS.
- Проверено, что ссылка nuget.targets указана из проекта-нарушителя.
- Убедитесь, что для параметра «RestorePackages» установлено значение true в проекте-нарушителе.
- Сложил все эти предметы и поставил в очередь частную сборку с соответствующим полкой.
Сборка выполняется, но пакеты nuget никогда не загружаются. Кроме того, я не вижу никаких записей в журнале для любого «RestoreCommand» (или других элементов из nuget.targets) в файле журнала сборки. Это похоже на nuget.targets полностью игнорируется. Я надеюсь, что я просто слишком долго смотрел на это и пропустил какой-то простой шаг.
Редактировать: Я должен был упомянуть, что решение прекрасно строится на локальной машине. Я обновил ссылки на проекты для ссылок на библиотеки NuGet. Если я удалю все локальные пакеты, он загрузит их и правильно построит.
Как вы установили переменную окружения? Вы уверены, что это не для пользователя, и вы отказываетесь от машины, чтобы обеспечить ее применение ко всем процессам и т. Д.? –