Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: BlanthorОтветов: 3

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

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

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

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

  • У меня такая же проблема, и я тоже жду решения. Nam G VU 15.11.2010

visual-studio-2010unit-testingassembly-resolution

Ответы

Ответ 1 · рейтинг 1 · AMissico

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

  • Эта проблема возникла независимо от того, использовал ли я подключенный диск или путь 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.

Ответ 2 · рейтинг 1 · Charles

Я наткнулся на этот пост в поисках ответа. Вот решение. В файле конфигурации 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

Ответ 3 · refraction

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы