Отладка проблемы загрузки сборки - PullRequest
5 голосов
/ 07 апреля 2009

У меня возникла очень странная проблема во время модульного тестирования (MSTest в Visual Studio - .NET 3.5 SP1):

  1. Я нажимаю «Запустить все тесты в растворе»
  2. Все тесты пройдены, , за исключением для одного конкретного класса, где каждый тест выдает следующее исключение: «System.IO.FileLoadException: загрузка этой сборки приведет к другому набору грантов из других экземпляров. (Исключение из HRESULT: 0x80131401). "
  3. Затем я иду и устанавливаю точку останова в классе. Результат: все тесты в классе проходят (те же тесты, которые не были выполнены ранее).
  4. Я нажимаю «Запустить все тесты в решении». Все испытания проходят, кроме другого класса.
  5. Я иду установить точку останова в классе. Результат: все тесты в классе проходят
  6. Я нажимаю «Запустить все тесты в решении». Все тесты пройдены, кроме первого тестового класса снова.
  7. и т.д.

Как видите, проблема очень противоречива, что затрудняет ее отладку.

Я пытался использовать Fusion Log Viewer, но это дало мне запутанные результаты, которые я не совсем понял.

Что я должен искать? Кто-нибудь еще сталкивался с этой проблемой?

Обновление: Была запрошена дополнительная информация.

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

Я мог бы отследить и проверить проект в разные дни, но мы используем Visual Source Safe (я знаю - не мое решение :-(), поэтому я не решаюсь сделать это.

Тесты - это обычные модульные тесты, и я использую Moq для mock-объектов ... Но, как я уже сказал, до недавнего времени он работал нормально.

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

Ответы [ 3 ]

2 голосов
/ 04 июня 2009

Мы также столкнулись с этой проблемой, хотя она произошла только на нашем сервере сборки (где у нас установлен VS2008 для использования MSTest с MSBuild), а не локально. Мы установили это исправление в версии VS2008 на сервере сборки, и это устранило эту проблему.

1 голос
/ 07 апреля 2009

Видимо, это ошибка. Без сомнения, вы уже нашли это, но на всякий случай вот ссылка.

http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=95157

Надеюсь, это поможет.

0 голосов
/ 11 мая 2009

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

...