TFS 2010 пытается запустить проект MsTest 2010 под MSTest 2008 - PullRequest
2 голосов
/ 23 июня 2011

У меня настроена сборка CI для построения моего решения и запуска модульных тестов.Решение - VS 2010. Мой тестовый проект нацелен на структуру 4.0.И версия модульного тестирования 10.0 имеет правильные ссылки.Если я запускаю тесты локально в VS 2010, у меня нет проблем.Однако при запуске сборки CI на сервере TFS (то есть TFS 2010) я получаю сообщение об ошибке:

Файл не найден: C: \ Program Files \ Microsoft Visual Studio 9.0 \ Common7 \ IDE \MSTest.exe

Это MSTest для VS 2008, и он не установлен на моем сервере TFS.На моем TFS-сервере установлена ​​VS 2010, включая инструменты тестирования, но TFS его не ищет.

Мой вопрос: почему TFS пытается использовать эту версию MSTest для запуска тестов?Я не могу найти этот путь, указанный где-либо в каком-либо проекте, решении или конфигурации на сервере.

Решение и связанные проекты начали свою жизнь как проекты VS 2008 и были перенесены в VS 2010. Эти файлы были перенесены вновая установка TFS 2010 и новый проект TFS.Они не были перенесены с сервера TFS 2008 года.

Журнал активности

Полный журнал

Спасибо!

Ответы [ 2 ]

2 голосов
/ 26 января 2012

Просто продолжение этого, потому что я в конце концов обнаружил, что стало причиной моей проблемы, и это не был ответ, приведенный выше. В этом проекте мы ссылались на стороннюю утилиту утверждений типа «Следует» с именем «SoftwareApproach.TestingExtensions». Этот dll был более старым и содержал ссылку на MSTest 9 (из VS 2008). Поскольку эта dll ссылалась на MSTest 9, она вызывала эту ошибку на сервере сборки, однако тест выполнялся локально. Честно говоря, не уверен, почему он не жаловался локально, поскольку не было никакого перенаправления привязки, и VS 2008 не установлен.

Тем не менее, обновление до сборки упомянутой библиотеки DLL, которая вместо этого ссылалась на MSTest 10, решило нашу проблему на сервере сборки.

1 голос
/ 24 июня 2011

При просмотре журналов проблема заключается в том, что MSTest работает здесь с неверной версией, поскольку у вас имеется ссылка на устаревшую сборку.

Убедитесь, что ваш проект модульного тестирования и любые другие проекты, выполняемые для тестирования, имеют правильную ссылку на сборку для новой сборки mstest. Я предполагаю, что вы либо пропустили ссылку, либо добавили новую, и забыли удалить старую ссылку.

"Я не могу найти этот путь, указанный где-либо в каком-либо проекте, решении или конфигурации на сервере."

Да, вы нигде не увидите путь - он просто будет исполнен на основе того, какая сборка указана в модуле тестирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...