Подключите отладчик Visual Studio к VS IDE Host
Я пытаюсь протестировать приложение, использующее оболочку Visual Studio 2015 (изолированная).
Для тестирования пакета расширений с Visual Studio я нашел образцы для более старых версий. Они выглядят так:
[TestMethod]
[HostType("VS IDE")]
public void CreateVisualization()
{
TestUtils testUtils = new TestUtils();
testUtils.CloseCurrentSolution(__VSSLNSAVEOPTIONS.SLNSAVEOPT_NoSave);
testUtils.CreateProjectFromTemplate(TestContext.TestDir, "MyProjectType", "MyProjectType.zip");
testUtils.CloseCurrentSolution(__VSSLNSAVEOPTIONS.SLNSAVEOPT_NoSave);
}
Моя проблема в том, что я не могу отладить эти тесты, потому что отладчик не подключается к VS IDE
хост-процесс. Однажды я удаляю аннотацию HostType, я могу установить точки останова и отладить их, но тогда тест не выполняется внутри правильного процесса. Я проверил, что присоединение не работает, написав бесконечный цикл внутри теста, а затем вручную подключив его к запущенному процессу (который включил бы отладку).
Есть ли способ автоматически присоединить отладчик Visual Studio к запущенному процессу при запуске теста, чтобы я мог выполнить отладку без шага "Присоединить к процессу" вручную?
Редактировать:
Я пробовал несколько решений, но пока ничего не получалось:
- Как разместить VS IDE во время интеграционного теста через MSTest? запустил Visual Studio, но не мое приложение
- Visual Studio: автоматическое подключение к процессу, когда процесс порожден, имеет смешанные результаты.
Debugger.Launch
работает, но все еще требует принятия утомительного диалога "Выбрать отладчик..." - Предложенный Microsoft способ автоматического присоединения отладчика не работает, поскольку он всегда запускает jit-debugger при запуске приложения, а не только при запуске (и отладке) тестов.
1 ответ
Если вы хотите настроить отладчик на автоматическое подключение к процессу, который будет запущен, вы можете использовать редактор реестра, но это не удобно:
https://msdn.microsoft.com/en-us/library/a329t4ed(v=vs.100).aspx
Простой способ заключается в том, что вы можете использовать этот инструмент, написанный Эялем Рознером здесь:
http://www.codeproject.com/Articles/1090417/How-to-Set-Debugger-to-Auto-Attach-on-Process-Star
Нам легко установить редактор реестра.