0

У нас есть настройка, которая запускается каждую ночь, чтобы выполнить созданную нами интеграцию. Проблема в том, что это проблема при выполнении этих тестов. В нескольких тезисах используются файлы, включенные в тестовый проект, и указывающие их как элементы развертывания.TFS 2013 не работает при выполнении тестов после сборки, когда используются элементы развертывания

Там, кажется, однако, что проблема с этим, так как мы получаем следующее сообщение об ошибке

Test Run проблема развертывания: Не удалось скопировать файл «d: \ Sources \ Agent1 \ Bin \ Debug \ xxx.pdf» в 'd: \ Sources \ Agent1 \ bin \ Debug \ xxxxx.pdf': System.IO.IOException: процесс не может получить доступ к файлу 'd: \ Sources \ Agent1 \ bin \ Debug \ xxx.pdf', потому что он используется другим процессом.

Все тесты работают при их локальном использовании на наших собственных машинах.

После того, как это предупреждение появляется в журнале msbuild, testrun просто останавливается и зависает до тех пор, пока указанное время для агента не будет достигнуто, а сервер builds убивает агента.

В чем может быть проблема и как это можно решить, чтобы мы могли снова запустить программу интеграции?

ответ

0

TFS Build по умолчанию помещает выходы сборки в другое место, а затем при локальном построении в VS. Когда вы создаете локально, он помещает их в [projectdir] \ bin \ Debug. При использовании TFS сборка имеет структуру папок, например, так:

[workspace dir]\Sources\[projectdir] 
[workspace dir]\Binaries\ 

TFS сборка перенаправляет результаты сборки в папку Binaries. Поэтому, если у вас есть пользовательские действия в \ bin \ debug, они не найдут их.