Запуск MSTest завершился неудачно, поскольку исходная сборка не является доверенной.

StackOverflow https://stackoverflow.com/questions/201327

  •  03-07-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

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

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

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

Другие советы

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

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

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

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

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

Мое исправление заключалось в следующем:

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

  2. Удалить ссылки в Visual Studio

  3. Физически удалить DLL в папке корзины

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

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

Каждая последующая сборка или перестройка впоследствии работала нормально.

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

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

  1. Запустите инструмент настройки .NET 2.0 (Настройки...Панель управления...Инструменты управления...Конфигурация .NET Framework 2.0)
  2. Нажмите вниз на «Мой компьютер…».Политика безопасности во время выполнения...Машина ...Кодовые группы...Весь_код"
  3. Создайте новую группу кодов с условием членства «Зона» = «Местная интрасеть» и назначьте набор разрешений «FullTrust».
  4. Перезапустите Visual Studio.

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

РЕДАКТИРОВАТЬ:как описано в этот ответ, вам может потребоваться установить .NET SDK (который отличается от .NET Framework), чтобы иметь в вашей системе инструмент настройки .NET 2.0.

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

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

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

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

Попробуйте.

:)

ПС:Я также удалил все старые библиотеки DLL из папки bin, просто чтобы убедиться, что Visual Studio не подхватывает старую.

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

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

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

Необходимо разблокировать не только moq.dll.Последний zip-файл включает в себя файлы moq.xml и moq.pdb — ссылка на dll также копирует эти два файла в папки bin.Я обнаружил, что если все три не разблокированы, тесты не запустятся.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top