C# ContextSwitchDeadlock错误-VS 2015

C# ContextSwitchDeadlock错误-VS 2015,c#,visual-studio-2015,C#,Visual Studio 2015,我正在为我们作为外接程序使用的类似功能创建扩展 当我调试扩展,并打开VS的实验实例时,我得到如下结果: 发生了ContextSwitch死锁 消息:托管调试助手“ContextSwitchDeadlock”在“C:\Program Files(x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe”中检测到问题。 其他信息:CLR已经60秒无法从COM上下文0x1272878转换到COM上下文0x12727c0。 拥有目标上下文/单元的线

我正在为我们作为外接程序使用的类似功能创建扩展

当我调试扩展,并打开VS的实验实例时,我得到如下结果:

发生了ContextSwitch死锁 消息:托管调试助手“ContextSwitchDeadlock”在“C:\Program Files(x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe”中检测到问题。 其他信息:CLR已经60秒无法从COM上下文0x1272878转换到COM上下文0x12727c0。 拥有目标上下文/单元的线程很可能正在执行非泵送等待或在不泵送Windows消息的情况下处理长时间运行的操作。 这种情况通常会对性能产生负面影响,甚至可能导致应用程序变得无响应或内存使用量随时间不断累积。 为避免此问题,所有单线程单元(STA)线程都应使用泵送等待原语(如CoWaitForMultipleHandles),并在长时间运行操作期间定期泵送消息

我读了这篇文章:

并从异常设置中取消选中ContextSwitchDeadlock,但我对此感到不舒服

然后我发现了这篇帖子(特别是斯科特·芒罗的答案):

使用步骤进入线程窗口,但在检查主线程时,我只看到以下内容:

Main Thread     Microsoft.VisualStudio.CommonIDE.dll!Microsoft.VisualStudio.CommonIDE.ResourceLoader.FindResource.AnonymousMethod__0
[External Code] 
所以这对我帮助不大

如何解决ContextSwitch死锁?除了简单地在MDA中取消选中它之外。我还尝试在我的电脑上安装已发布的vsix(未上传到图库),但它使VS挂起在splashscreen上。我想这与整个问题有关

这是主线程显示的内容(行-列转换):

主线程
主线程Microsoft.VisualStudio.CommonIDE.dll!Microsoft.VisualStudio.CommonIDE.ResourceLoader.OpenAssemblyResourceManifest4
正常的

这就是工作线程抱怨的内容:

工作线程 clr.dll!Thread::intermediateThreadProc()
ntdll.dll_NtWaitForSingleObject@12正常的

我在调用堆栈中看不到任何内容,也找不到我的代码在忙什么