Процесс devenv продолжает работать в фоновом режиме после закрытия Visual Studio 2015

Проблема


Когда я закрываю Visual Studio 2015, нажимая кнопку закрытия в среде IDE, процесс devenv.exe продолжает работать в фоновом режиме от 3-5 минут, после этого он автоматически закрывается, действительно странно,

Я обнаружил эту проблему, потому что я пытался автоматически установить расширение с помощью DTE (так же, как и в Visual Studio 2013 в прошлом без каких-либо проблем), но когда я вызываю метод dte.Quit(), он не закрывает Visual Studio 2015, devenv.exe будет сохраняться в фоновом режиме навсегда (до тех пор, пока ручный процесс не завершится).

Вопрос


У кого-то может возникнуть идея, почему я страдаю этой проблемой?

У кого-то такая же проблема?, кто-то нашел способ ее исправить?

Это официальная ошибка?, есть обновление или патч?.

Или, может быть, в худшем случае, следуя новой философии Microsoft, это может быть один из их механизмов шпиона, который продолжает работать, даже когда конечный пользователь пытался закрыть среду IDE?.

Исследование


У меня плохие знания для решения таких проблем, как отладка стороннего приложения или обратных инженерных знаний, но я сделал некоторые основные вещи:

  • Пробовал procmon из SysInternals, но я не заметил никаких странный вызов.
  • Также я использовал приложение Nirsoft под названием WhatIsHang, которое определяет любые текущие приложения, которые висят в системе, затем показывают какая-то отладочная информация об этом, но WhatIsHang не распознает зависание devenv.exe, поэтому, по крайней мере, я знаю, что devenv.exe не является висит, похоже, просто "неактивно" что-то делает странный, и этот процесс никогда не выходит сам.

Спецификации среды


Версия Windows:

Windows Spy 10, а также Windows 10 Professional (v10.0.10240) 64-разрядной версии, работающей на VMWare WorkStation.

Версия Visual Studio:

2015 Professional (v14.0.23107.0)

Расширения сторонних разработчиков IDE или любые другие модификации Installed?:

Нет, это новая установка продукта.

Ответы

Ответ 1

Чтобы программа devenv.exe автоматически закрывалась при запуске с использованием автоматизации, вызовите dte.UserControl = false;

http://www.mztools.com/articles/2005/mz2005005.aspx

DTE.UserControl: если установлено значение True, среда IDE остается открытой после того, как вы закончите автоматизацию. Это полезно, если вы хотите открыть среду IDE, выполнить некоторые действия и оставить ее открытой для продолжения использования пользователем. Если установлено значение False, объект будет выпущен после того, как вы закончите автоматизацию, и процесс devenv.exe не должен оставаться в памяти (используйте его, чтобы проверить его). Если он остается в памяти, это означает, что вы не выпускаете все COM-обертки, используемые для его автоматизации.

Ответ 2

Я также столкнулся с этой проблемой, и мне просто удалось решить ее исключительно случайно. Я использовал Resharper 9, и я просто обновился до Resharper 10. Это разрешило это для меня.

РЕДАКТИРОВАТЬ. Похоже, моя радость была преждевременной; После открытия более сложного решения VS2015 снова отказывается выйти после закрытия...