关闭Visual Studio 2015后,devenv进程在后台继续运行

Ele*_*ios 16 .net visual-studio envdte devenv visual-studio-2015

问题


当我通过按下IDE上的关闭按钮关闭Visual Studio 2015时,devenv.exe进程在3-5分钟之间继续在后台运行,在此之后,它会自动关闭,真的很奇怪.

我发现这个问题是因为我试图使用自动安装扩展DTE(与过去Visual Studio 2013相同,没有任何问题),但是当我调用该方法时,dte.Quit()它不会使Visual Studio 2015关闭,的devenv.exe的意愿保持在背景永远(直到手动过程杀死).


有人可以知道我为什么会遇到这个问题?

有人有同样的问题吗?有人找到了解决问题的方法吗?

这是一个官方的错误?,是否有更新或补丁?

或者在最糟糕的情况下,在新的微软"哲学"之后,它可能是他们的间谍机制之一,即使在最终用户试图关闭IDE时也能继续运行?

研究


我对这样的问题解决方案知之甚少,比如调试第三方应用程序或逆向工程知识,但我做了一些基本的事情:

  • 试图将procmonSysinternals的,但我没有发现任何奇怪的电话.
  • 我还使用了名为WhatIsHangNirsoft应用程序来确定系统中挂起的任何当前应用程序然后显示它的一些调试信息,但是WhatIsHang无法识别devenv.exe的任何挂起,所以至少我知道devenv.exe不是悬挂,似乎只是显然"不活跃"做一些奇怪的事情,而这个过程永远不会自己退出.

环境规格


Windows版本:

Windows Spy 10,即64位的Windows 10 Professional(v10.0.10240),在VMWare WorkStation上运行.

Visual Studio版本:

2015专业版(v14.0.23107.0)

是否安装了第三方IDE扩展或任何其他类型的修改?:

不,这是该产品的全新安装.

Ram*_* A. 3

要让 devenv.exe 在使用自动化启动时自动关闭,请调用dte.UserControl = false;

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

DTE.UserControl:当设置为 True 时,IDE 在完成自动化后保持打开状态。如果您想要打开 IDE、执行某些操作并使其保持打开状态以供用户继续使用,这非常有用。当设置为 False 时,完成自动化后将释放该对象,并且 devenv.exe 进程不应保留在内存中(使用任务管理器进行验证)。如果它保留在内存中,则意味着您没有释放用于自动化它的所有 COM 包装器。