Как избавиться от ошибки «API-ограничение UnitTestFramework.dll уже загружено»? - PullRequest
13 голосов
/ 12 ноября 2009

Время от времени появляется следующая ошибка:

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.

Как мне от этого избавиться?

Ответы [ 2 ]

8 голосов
/ 12 ноября 2009
  • Редактировать файл .csproj
  • Удалите процессорArchitecture = 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
5 голосов
/ 08 января 2013

Если вы получаете эту ошибку, когда она пытается запустить тесты на сервере сборки TFS, вам, возможно, придется просто изменить шаблон, который используется в определении сборки TFS для поиска тестовых сборок. Этот пост описывает проблему и решение. По сути, TFS находит одну и ту же тестовую сборку в двух разных папках и пытается включить ее дважды. Чтобы это исправить:

  1. Открыть Team Explorer
  2. Расширяйте дерево, пока не увидите сборки для своего проекта
  3. Выберите нужную сборку
  4. Щелкните правой кнопкой мыши> Изменить определение сборки
  5. Нажмите Процесс на боковой панели слева
  6. Расширить '2. Basic '> Автоматизированные тесты
  7. Нажмите Редактировать
  8. Измените Спецификацию файла тестовой сборки , чтобы удалить соответствующую папку в шаблоне. Например. изменить **** \ test .dll ** на * test * .dll

При удалении папки из шаблона совпадения (т. Е. \) Она будет включать тестовую сборку только один раз, даже если найдет ее в двух разных папках.

...