У меня есть единичные тесты на С# для проекта VS2012, который вызывает VS2010 С++ DLL, используя DllImport pinvoke.
Как событие предварительной сборки для тестового проекта, я копирую последнюю версию DLL в бинарный проект для теста.
Это повторяется, если vstest.discoveryengine запущен. Похоже, что "механизм обнаружения" загружает тесты и удерживает блокировку в DLL.
Если я убью vstest engine, то я смогу построить и запустить тесты. в противном случае сборка завершится неудачей, а VS2012 предложит запустить предыдущую версию (с диалоговым окном модели, в котором отсутствует опция "Не показывать это сообщение снова" )
Есть ли что-то, что я могу сделать, чтобы заставить тестовый проект выгрузить DLL, когда он не выполнял тесты, или отключить исполняемый файл обнаружения фона?
Я взломал обходной путь, создав исполняемый файл под названием Kealakekua, который убивает vstest.discoveryengine.x86, vstest.executionengine.x86, и с этим в качестве первой части события предварительной сборки он может копировать файлы и создавать, но предпочел бы не бороться с visual studio для моего файла.