Модульное тестирование в Visual Studio 2015 перестало работать

У меня есть проект модульного тестирования C++ UWP для статической библиотеки UWP C++ в приложении C++ Windows 10 UWP в решении Visual Studio 2015. Я использую модульное тестирование, встроенное в VS 2015. Оно отлично работало в течение нескольких месяцев, а затем в один прекрасный день я получаю это сообщение, когда пытаюсь запустить тесты из проводника тестов:

DEP3000: Попытки остановить приложение не увенчались успехом. Это может привести к сбою развертывания. Исключение из HRESULT: 0x92330047

После этого модульное тестирование перестало работать в Visual Studio. Вот что я пытался исправить эту ситуацию до сих пор:

  1. Вручную удалите старое развернутое приложение модульного тестирования.
  2. Вручную разверните приложение модульного тестирования.
  3. Запустите опцию «восстановить» в установщике VS 2015.
  4. Удалите и переустановите VS 2015.
  5. Используйте VisualStudioUninstaller из GitHub, а затем переустановите VS 2015.
  6. MVP на форумах MSDN просмотрел логи установщика и сказал, что согласно логам все установилось правильно.
  7. Сделал новое решение с новым проектом модульного тестирования.

Приложение модульного тестирования запускается, окно тестового приложения появляется на минуту или две, а затем приложение закрывается. Тем не менее, окно тестового проводника остается с вращающейся полосой занятости в ожидании ответа от тестового приложения (я полагаю).

У меня есть три машины для разработки. Модульное тестирование перестало работать одинаково на двух из них. Остался один. Единственное, что я не сделал, это стереть диск и переустановить Windows 10 (и все остальное) с нуля. Прежде чем я сделал это (или переключился на другую среду модульного тестирования), я решил проверить здесь, знает ли кто-нибудь из Stack Overflow, как решить эту проблему. Вроде в реестре что-то накосячили или конфигурационный файл VS куда-то спрятался, но где искать я понятия не имею.

Спасибо заранее.


person Don Jordan    schedule 12.09.2016    source источник
comment
После публикации этого я обнаружил, что есть похожие вопросы. Сначала я искал, но не использовал хороший запрос. В любом случае, я оставлю это, поскольку я даю более подробную информацию о том, что не решает проблему.   -  person Don Jordan    schedule 13.09.2016
comment
Я отправил эту проблему в службу технической поддержки разработчиков Microsoft для Visual Studio. Проведя с ними удаленный сеанс, они сказали, что никогда раньше не видели, чтобы машина делала это. Ну... у меня двое из них делают это. В любом случае, если MS найдет исправление, я обязательно опубликую его здесь.   -  person Don Jordan    schedule 25.10.2016


Ответы (1)


Здесь я отвечаю на свой вопрос, но тем не менее это ответ. Я провел десять недель, работая со службой технической поддержки Microsoft Visual Studio (предоставив им удаленный доступ к моей системе для запуска тестовых программ и создания файлов журнала). Никто не мог понять, что происходит. Наконец, они связали меня с человеком, который внедрил и поддерживает среду модульного тестирования для VS. Мы также прошли пару удаленных сеансов с их разработчиком, изучающим мою систему. На последнем сеансе он, наконец, понял, что не так.

Тестовое приложение, запущенное Visual Studio, использует локальную сеть для отправки результатов модульного тестирования в приложение IDE. Если на вашем компьютере установлено более одного сетевого адаптера, среда модульного тестирования может запутаться и попытаться связаться с IDE через неправильный сетевой адаптер. Таким образом, VS TestExplorer просто зависает в ожидании ответа. из тестового приложения, в то время как тестовое приложение зависает, пытаясь найти TestExplorer в неправильной сети.

Временное решение. В моей системе разработки есть три сетевых адаптера: Ethernet, Bluetooth и Wi-Fi. Отключение неиспользуемых адаптеров Bluetooth и Wi-Fi заставило среду модульного тестирования найти IDE на правильном адаптере. После этого модульное тестирование снова заработало. Как только он начал работать, я смог снова включить два других адаптера. Я предполагаю, что если это снова не удастся, мне придется пройти тот же процесс.

Microsoft в конечном итоге включит исправление этой проблемы в будущую сборку Visual Studio, но до этого времени вы можете решить проблему, отключив неиспользуемые сетевые адаптеры, запустив модульные тесты, чтобы они могли найти TestExplorer, а затем снова включите адаптеры.

person Don Jordan    schedule 26.01.2017
comment
Спасибо за продолжение. К сожалению, это не решило это для меня, но это было, по крайней мере, что-то еще, на что можно было обратить внимание. - person Nathan Strutz; 02.11.2017
comment
@NathanStrutz: К сожалению, проблема вернулась в VS 2017 после недавнего обновления Windows. И этот обходной путь тоже не помогает. Чтобы решить эту проблему, служба технической поддержки Microsoft требует, чтобы мы заплатили еще 500 долларов США, чтобы открыть второй инцидент поддержки, сверх 500 долларов, которые мы уже заплатили. Мы не собираемся платить MS за помощь в отладке их программного обеспечения. Я буду использовать другую машину для тестирования. Я опубликую здесь любую новую информацию, если MS передумает. А пока я бы посоветовал разработчикам поискать платформу модульного тестирования в другом месте. - person Don Jordan; 07.11.2017
comment
Сегодня Microsoft выпустила обновление для Visual Studio 2017 версии 15.7.0. Он включал в себя серьезную переработку структуры модульного тестирования. Теперь последняя машина, на которой у меня была рабочая среда модульного тестирования, зависает, когда я пытаюсь запустить тесты. Трассировка стека в окне вывода указывает на сбой в их коде. Почему я не удивлен? Начиная с Visual Studio 2015, то, что когда-то было одной из лучших IDE в бизнесе, становилось все медленнее и глючнее с КАЖДЫМ обновлением — это НЕ преувеличение. СМХ. - person Don Jordan; 08.05.2018