У нас есть несколько модульных тестов в разных DLL.Эти библиотеки DLL также содержат наш основной код, поэтому между ними есть некоторая зависимость, хотя я не думаю , что тесты должны пересекать границу библиотеки DLL.Тем не менее, мы выполняем много / DELAYLOAD в командной строке компоновщика для группы DLL, но не напрямую между собой.
Если мы загружаем тест с использованием командной строки:
vstest.console.exe dll1.dll dll2.dll /platform:x86 /UseVsixExtensions:true /inIsolation
это работает, однако, если мы используем командную строку
vstest.console.exe dll2.dll dll1.dll /platform:x86 /UseVsixExtensions:true /inIsolation
, это не удается, когда он начинает выполнять тесты в dll1.dll
.
Сообщение об ошибке, которое мы получаем:
Failed dll1_test1
Error Message:
Failed to set up the execution context to run the test
и повторяет это сообщение для всех тестов в этой DLL.
Хотя это не проблема для 64-битных сборок.Это также не происходит при запуске всех тестов в VS IDE.
Кто-нибудь знает, с чего начать, чтобы выяснить, почему порядок имеет значение для 32-битного случая?