Ошибка MSTest не выполняется, поскольку сборка источника не доверена

Я просто добавил xUnit в наш тестовый проект (для Asserts мы все еще используем MSTest в качестве фреймворка), и сразу же тестовые прогоны отказываются выполнять какие-либо тесты. Это сообщение об ошибке:

Не удалось запустить тестовый запуск '{....}' Проблема с развертыванием тестового запуска: расположение файла или каталога '... xUnit.dll' не доверяется.

Ответ 1

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

В принципе, исправление вызывает щелчок правой кнопкой мыши по файлу dll (например, xunit.dll) в проводнике Windows, перейдите в "Свойства" и нажмите "Разблокировать" в нижней части вкладки рядом с текстом "Безопасность". Кажется, что Vista/Windows 2008 автоматически маркирует сборки, поступающие с других компьютеров или Интернета, как небезопасные.

Как уже отмечали пара комментаторов, вам также может потребоваться перезапустить Visual Studio, чтобы это входило в силу.

Ответ 2

В моей команде у нас была та же проблема.

Ваше решение не сработало, но этот пост Чарльзом Стерлингом помог.

Мы использовали следующую строку:

caspol -machine -addgroup 1 -url file://\\server/share/* FullTrust -name DevShare

Ответ 3

После того, как эта проблема и часы работы, пытаясь заставить "Разблокировать" продержаться дольше нескольких минут и/или выяснить caspol, безрезультатно, я, наконец, нашел немного лакомых кусочков через Google, сборки будут снова заблокированы в следующий раз, когда вы будете строить или перестраивать проект, поскольку они повторно скопированы из исходного местоположения источника. (Я думаю, я никогда не замечал, что это произошло раньше со ссылками сборок, но в любом случае...)

Мое исправление для этого было следующим:

  • Скопируйте все необходимые DLL в другие место для безопасного хранения

  • Удалите ссылки в Visual Studio

  • Физически удалить DLL в bin

  • Разблокировать DLL индивидуально в месте, где они были скопированы

  • Добавьте ссылки назад в Visual Studio из удерживая пятно

Каждая последующая сборка или перестройка работала хорошо после этого.

Ответ 4

Запуск на компьютере XP (даже с установленным .NET 3.5 SP1) Я не смог получить ни одно из других решений, перечисленных здесь для работы.

Однако, работая из того же пост Чарльза Стерлинга, что Дэви Ландман ссылается, я, наконец, преуспел в этом варианте:

  • Запустите средство настройки .NET 2.0 (Настройки... Панель управления... Администрирование... Конфигурация .NET Framework 2.0)
  • Нажмите "Мой компьютер... Политика безопасности выполнения... Машина... Группы кода... All_Code"
  • Создайте новую группу кода с условием членства в "Zone" = "Local Intranet" и назначьте набор разрешений "FullTrust"
  • Перезапустить Visual Studio

После этих шагов я могу запускать тесты, в том числе после перезапуска и восстановления.

EDIT: как описано в этом ответе, вам может потребоваться установить .NET SDK (который отличается от .NET framework), чтобы иметь .NET 2.0 в вашей системе.

Ответ 5

У меня была такая же проблема с moq. Но не "разблокировать". Каждый раз, когда я разблокировал его, он все равно блокировался!?!?

Мне пришлось разблокировать исходный файл zip, который я загрузил. Затем снова скопируйте DLL из zip файла. Он работает после этого.

Ответ 6

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

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

Отдайте это.

:)

PS: Я также удалил всю старую dll в моей папке bin, чтобы убедиться, что Visual Studio не собирает старый.

Ответ 7

У меня была такая же проблема с загружаемыми DLL файлами, заблокированными Vista. Вам нужны права администратора, чтобы получить кнопку "Разблокировать" в файле "Свойства". Я просто заменил библиотеки DLL последней версией из исходного элемента управления (TFS), где я их ранее использовал.

Ответ 8

  • Перейдите к file
  • Щелкните правой кнопкой мыши и выберите Properties
  • В первом Регистре нажмите Allow

Ответ 9

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

Ответ 10

Это не просто файл moq.dll, который нужно разблокировать. Последний zip файл содержит файл moq.xml и moq.pdb - ссылка на DLL копирует эти два других файла в папки bin. Если все три не были разблокированы, тесты не будут выполняться, я нашел.