Редактировать: После отправки этого сообщения я определил реальную проблему: MSBuild/TFSBuild не разворачивает .dll 'CopyLocal = true' файлы, если они есть найденных в GAC. В этом случае DLL «System.net.http.formatting» находится в GAC на сервере сборки. Посмотрите here и hereСистема. *. Файлы Http, не скопированные в папку drop by TFS 2015 build-agent
После обновления с TFS с 2012 по 2015 год агент сборки больше не копирует следующие DLL-файлы в места перетаскивания. Как определить, почему агент сборки не копирует эти файлы?
system.net.http.formatting, System.Web.Http.dll или System.Web.Http.WebHost.dll
Деталь
- У нас есть решение с проектами MVC которые ссылаются на вышеупомянутые DLL.
- Файлы .csproj используют подсказку для ссылки на файлы в каталоге
/packages/...
. Я подтвердил, что путь действителен: решение имеет каталог пакетов. - Перед обновлением до TFS 2015 при создании решения указанные файлы будут скопированы в папку. Однако они не после обновления.
Строка не сработает, однако после обновления TFS 2015 целевой веб-сервер выдает ошибку «файл не найден». (MVC не является и не может быть установлен на целевой веб-сервер)
Билд использует 2012 XAML определения построения
Глядя на файлы журнала сборки, и ссылаться на DLL-файлы
CSC.exe ... /reference:D:\B\15...\packages\Microsoft.AspNet.WebApi.Client.4.0.20710.0\lib\net40\System.Net.Http.Formatting.dll
build logs показывает, что только версия, созданная TFS 2012, копирует DLL-файл в папку drop. Бревно 2015 сборки не имеет строку, подобную следующей:
Копирование файла с «D: .. \ пакеты \ Microsoft.AspNet.WebApi.Client.4.0.20710.0 \ Lib \ net40 \ System.Net .Http.Formatting.dll "в" D: .. \ BIN \ EG.WS.EZScan.Web.Intranet \ System.Net.Http.Formatting.dll
- сервер сборки не был изменен во время обновления кроме переустановки агента сборки. Сервер не был перестроен. Никакие компоненты не были удалены или не добавлены.
- Проект не обновлялся до более новой версии MVC. Справочная версия проектов
4.0.0.0
. Файлы GACed на th Сервер электронной сборки версии4.0.0.0
(версия файла4.0.20710.0
)
Что еще я должен смотреть.
ли вы по-прежнему использовать XAML сборки в TFS 2015? Почему вы хотите скопировать ссылоченные DLL для удаления местоположения? –
У нас есть настроенная система развертывания. Мы строим наши серверы-разработчики и размещаем контент для серверов разработки/тестирования/производства. На целевых серверах, вероятно, не установлены одинаковые компоненты. Кстати, кажется, что новый шаблон MS/Visual Studio (особенно с ядром) состоит в том, чтобы включать все двоичные файлы при построении/развертывании, а не полагаться на GAC. Надеюсь, MS решит эту проблему в ближайшем будущем. – davewilliams459