Как избавиться от ошибки «API RELUCTION UNITTESTFRAMEWORKWORD.DLL, уже загруженная»?
-
19-09-2019 - |
Вопрос
Время от времени появляется следующая ошибка:
C:\Program Files\MSBuild\Microsoft\VisualStudio\v9.0\TeamTest\Microsoft.TeamTest.targets(14,5): error : API restriction: The assembly 'file:///C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll' has already loaded from a different location. It cannot be loaded from a new location within the same appdomain.
Как мне избавиться от этого?
Решение
- Отредактируйте файл .csproj
- Удалите процесс -архитектуру = msil в конце ссылки UnittestFramework.
Изменять:
<reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
к:
<reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- Перезапустить Visual Studio
Другие советы
Если вы получаете эту ошибку, когда она пытается запустить тесты на вашем сервере сборки TFS, то вам может просто изменить шаблон, который определение сборки TFS использует для поиска тестовых сборок. Эта почта описывает проблему и решение. По сути, TF находит ту же тестовую сборку в двух разных папках и пытается включить ее дважды. Чтобы исправить это:
- Open Team Explorer
- Расширить дерево, пока не увидите сборки для своего проекта
- Выберите вопрос
- Щелкните правой кнопкой мыши> Редактировать определение сборки
- Нажимать Процесс на боковой панели слева
- Расширить 2. Базовые '> автоматические тесты
- Нажимать Редактировать
- Изменить Спецификация файла тестовой сборки Чтобы удалить сопоставление папки в рисунке. Например, изменение ****тест.dll ** to *тест*.dll
Сняв папку из шаблона соответствия (то есть ), она будет включать тестовую сборку только один раз, даже если она найдет ее в двух разных папках.