Visual Studio 2010 UnitTestAdapter не может быть загружен - PullRequest
1 голос
/ 07 сентября 2010

У меня есть несколько десятков VS Solution, в каждом из которых есть проект VS Test, который я использую на работе и дома.Однажды тесты (в одном решении) перестали выполняться, и я получил следующую ошибку при запуске тестов:

Тестовый адаптер ('Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestAdapter,Не удалось загрузить Microsoft.VisualStudio.QualityTools.Tips.UnitTest.Adapter, версия = 10.0.0.0, культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a '), необходимая для выполнения этого теста.Убедитесь, что тестовый адаптер установлен правильно.Ссылка на объект не установлена ​​для экземпляра объекта.

Он продолжает нормально работать для всех остальных в команде и хорошо для меня на работе, но дома это неудача.Кроме того, тестовые проекты других решений для меня дома работают нормально, только один из них провалился.Еще один лакомый кусочек, мы используем родинки во всех тестах (опять же, остальные тесты родинок работают нормально).

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

Есть мысли?

Ответы [ 3 ]

1 голос
/ 23 ноября 2010

У меня была такая же проблема. Начали возникать проблемы после преобразования нашего решения с VS2008 на VS2010. Почему-то при запуске модульных тестов Visual Studio жаловалась на невозможность найти HostAdapter "Moles". Затем я попытался загрузить последнюю версию Moles Framework (0.94.51023.0) и переустановить ее.

Тогда я получил проблему, которая описана выше. Все тесты с атрибутом HostType ("Moles") не прошли со следующей ошибкой.

Тестовый адаптер ('Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestAdapter, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.Adapter, Версия = 10.0.0.0, Культура = нейтральный, PublicKeyToken = b03f5f3faa050a50). этот тест не может быть загружен. Убедитесь, что тестовый адаптер установлен правильно. Ссылка на объект не установлена ​​для экземпляра объекта.

После долгих поисков я нашел причину своей проблемы. 1) Я открыл командную строку Visual Studio 2010 и набрал команду fuslogvw, которая запускает средство просмотра журнала привязки сборки. 2) Я зашел в настройки и проверил журнал Все привязки к диску и включить пользовательский путь журнала. 3) Я запустил один тест, который раньше не давал результатов, и программа просмотра журнала зарегистрировала множество файлов. Я открыл самый последний файл журнала, и для меня это был: Microsoft.ExtendedReflection, Version = 0.94.0.0, Culture = нейтральный, PublicKeyToken = 31bf3856ad364e35.HTM 4) Файл журнала описывает, как Visual Studio пытается найти Microsoft.ExtendedReflection.dll. Но по какой-то причине этот файл не может быть найден.

Операция не выполнена. Результат привязки: hr = 0x80070002. Система не может найти указанный файл. 5) Затем я вспомнил, что у меня была запущена Visual Studio 2010 при установке Moles Framework ранее. Поэтому я закрыл VS2010 и переустановил его. 6) Это, казалось, сделало трюк

Итак, коротко. Решением для меня было закрыть Visual Studio и переустановить Moles Framework.

1 голос
/ 27 апреля 2012

Кажется, что происходит, когда тест прерван (Исключение и т.д.)

Чтобы исправить, откройте web.config сайта и измените это

  <add name="HostAdapter" type="Microsoft.VisualStudio.TestTools.HostAdapter.Web.HttpModule, Microsoft.VisualStudio.QualityTools.HostAdapters.ASPNETAdapter, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</httpModules>

к этому

</httpModules>

в основном удаляет модуль "hostadapter" ... потому что, если тест неожиданно завершается неудачей, он, похоже, не очищается после этого.

1 голос
/ 07 ноября 2010

У меня была такая же проблема.Похоже, это началось после того, как я начал свои тесты в режиме отладки Выбор отладки , а затем прервал выполнение.Когда я попытался запустить свои тесты после этого, я получил ту же ошибку.Единственное, что мне помогло, это снова запустить тест с Debug Selection и дождаться окончания выполнения.Затем тесты начали работать правильно.

...