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

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

Ошибка 42 Не удалось загрузить файл или сборку «XXX, Версия = 1.0.2.66, Культура = нейтральный, PublicKeyToken = null» или одну из их зависимостей. Система не может найти указанный файл. XXX.UnitTest

  • Я полностью перестроил все проекты в своем решении.
  • Я подтвердил, что сборка с этим номером версии (1.0.2.66) действительно существует по указанному мной пути.
  • Я удалил и повторно добавил ссылку как в проекте, так и на вкладке «Обзор».
  • Я убедился, что номер версии не указан в файле csproj.
  • Я проверил указанную сборку с помощью Dependency Walker.
  • Я убедился, что оба проекта нацелены на платформу x86. (Как предлагается здесь Советы по отладке Не удалось загрузить файл или сборку X или одну из ее зависимостей)

Кто-нибудь знает, что еще может вызвать эту проблему?


person Blanthor    schedule 20.07.2010    source источник
comment
У меня такая же проблема, и я тоже жду решения.   -  person Nam G VU    schedule 15.11.2010


Ответы (3)


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

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

  • Эта проблема возникла даже с политикой безопасности доступа для кода «Полное доверие» для URL-адреса.

  • Я считаю, что проблема возникает на компьютерах Windows XP, а не на компьютерах Windows 7, но я не тестировал и не проверял.

  • Я считаю, что это как-то связано с разрешениями Поделиться.

    • If I try to use "offline folders" for the network resource, I get "access is denied".

    -.

  • Установка разрешений NTFS не имеет никакого эффекта.

  • Добавление пользователя в группу администраторов не имеет никакого эффекта.

  • Я не проверял, существует ли проблема на съемных локальных дисках.

Работа вокруг

Перенесите решение и проекты на локальный жесткий диск.

Комментарий

Я думаю, что это ошибка в Visual Studio 2010.

person AMissico    schedule 21.07.2010
comment
Я обнаружил, что временное исправление заключалось в ссылке на сборку в рабочей папке, которая в данном случае является папкой развертывания, из которой я отлаживаю. Ваше исправление кажется связанным и интересным, поскольку оно также связано с путями. - person Blanthor; 27.07.2010
comment
Я должен отметить этот ответ как наиболее близкий к решению. Похоже, что это нужно обойти, изменив локальные пути. Однако в моем случае диск уже был локальным, но мне пришлось изменить ссылку на развернутую сборку на моем локальном диске. - person Blanthor; 01.04.2011

Я наткнулся на этот пост в поисках ответа. Вот решение. В файле конфигурации QTAgent32.exe и devenv.exe в C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ Common7 \ IDE добавьте в раздел следующий элемент:

<runtime>
    <loadFromRemoteSources enabled="true" /> 
</runtime>

Его можно добавить в файл конфигурации компьютера (C: \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ Config \ machine.config) для всех инструментов VS2010. Обязательно запустите блокнот от имени администратора, чтобы разрешить сохранение файла machine.config.

Подробнее см. По этой ссылке: http://msdn.microsoft.com/en-us/library/dd409252%28VS.100%29.aspx

person Charles    schedule 30.03.2011
comment
Спасибо. Это был не веб-проект, а проект WPF. К сожалению, я не работаю в этой среде. Поэтому я не могу сказать, попробуйте какие-либо новые исправления. - person Blanthor; 01.04.2011
comment
Вау, всюду искал одну и ту же проблему. Это действительно работает для ссылки на сборки с сетевого диска !! Спасибо! - person Herman Cordes; 14.12.2011

У меня точно такая же проблема. Я использую VS 2010 на Windows Server 2003; оба работают в виртуальной машине на Mac. Мой проект VS находится в домашней папке Mac (~ /), которая отображается как Z: \ со стороны Windows. Во время сборки VS studio выдает ошибку, говоря, что не может найти UnitTests.dll или одну из его зависимостей. Я получаю ту же ошибку с небольшим тестовым проектом. Если я перемещаю проект на диск Windows C: \, ссылка на dll разрешается и модульные тесты работают. Я попытался добавить ссылку, о которой упоминает Блантор, но не смог заставить ее работать.

person refraction    schedule 08.12.2010