Проект модульного теста не может найти тестируемую сборку (или зависимости)

когда я пытаюсь запустить мой проект модульного теста, я получаю следующую ошибку:

не удалось загрузить файл или сборку "ASSEMBLY_NAME, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" или одну из ее зависимостей.

система не может найти указанный файл.

тестируемая сборка находится в одном и том же решении, и каждый проект предназначен для .NET 4.0 framework. Некоторое время это работало, но сегодня я снова получил эту ошибку. Я не могу выясните, что не так, потому что сообщение об ошибке не говорит мне достаточно. (например, какой файл не удалось найти..)

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

Edit: в журнале построения диагностики появляется следующая ошибка:

C:Program FilesMSBuildMicrosoftVisualStudiov10.0TeamTest
Microsoft.TeamTest.targets(14,5): 
error : Could not load file or assembly 'ASSEMBLY_NAME, Version=1.0.0.0, 
Culture=neutral, PublicKeyToken=null' or one of its dependencies. 
The system cannot find the file specified.

Done executing task "BuildShadowTask" -- FAILED. (TaskId:671)

Done building target "ResolveTestReferences" in 
      project "ASSEMBLY_NAME.Tests.vbproj" -- FAILED.: (TargetId:985)

8 ответов


после проверки некоторых дополнительных результатов поиска я наткнулся на этот вопрос здесь, в SA частный метод доступа для метода не найден .

после того, как я удалил *.файл доступа, мой тестовый проект перестал жаловаться и скомпилирован успешно.

Всем спасибо за помощь!


Регистрация . Все проекты должны иметь одинаковую платформу и столбец Build проверено.

также вы можете взглянуть на компоновке (Output window), он обычно более четко указывает, какой файл не может быть найден.


существует распространенная ошибка при выполнении модульных тестов: папка выполнения.

вы уверены, что ваш модульный тест выполняется в нужную папку ? Не в знаменитом obj?

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


Я пробовал все выше безрезультатно. Наконец, в csproj я изменил

<Private>False</Private>

to

<Private>True</Private>

по ссылкам и всем пройденным тестам.


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

http://msdn.microsoft.com/en-us/library/e74a18c4.aspx


У меня была та же проблема и обнаружил, что копирование dll в GAC решило проблему. Хотя я все еще не понимаю, почему он не использует ссылочные сборки проектов.


другая возможная причина - если имя сборки проекта модульного теста использует то же имя, что и тестируемая сборка. (т. е. убедитесь, что имя сборки модульного теста уникально).


ссылки - >отметить DLL - >щелкните правой кнопкой мыши - > Свойства - >копировать локальный набор в true