什么是Visual Studio 2012中的“等待后台操作”?

时间:2012-08-29 10:23:17

标签: visual-studio visual-studio-2012

偶尔,但通常情况下,由于没有明显的原因,VS 2012会锁定一个对话框,上面写着“等待后台操作完成”。例如。这可能发生在普通的旧代码编辑期间,而不是显式调用任何IDE命令。

导致这种情况的原因是什么,我能做些什么呢?

我正在运行ReSharper 7,而且我不是唯一一个遇到过这种情况的人。

20 个答案:

答案 0 :(得分:61)

我遇到了同样的问题,尤其是在cshtml页面中。我找到了这个页面:https://devblogs.microsoft.com/aspnet/visual-studio-11-beta-razor-editor-issue-workaround建议更改工具>中的缩进选项选项>文本编辑器> HTML>选项卡智能,而非阻止。在我的情况下,它已经设置为智能并将其更改回阻止修复了问题。

更新:我错了,没有修复对话,只是将其推迟到我复制或粘贴。最终对我有用的是去工具>导入和导出设置...>重置所有设置

可能相关的问题:Visual Studios 2010 - Asp.net MVC 4 Beta - long delays on paste and frequent crashing

答案 1 :(得分:32)

这是一种非常通用的诊断方法。它由COM触发,在Visual Studio中大量使用以实现可扩展性。底层触发器是IMessageFilter接口。当COM将方法调用封送到另一个线程并且该调用未完成60秒时,就会发生触发。

实际通知中没有什么价值,它告诉你一些你已经知道的东西。在60秒过去之后,您通常已经注意到事情并不顺利。除了有用的知识之外,Visual Studio实际上并没有完全死亡。然而,在VS再次可用之前,必须完成调用。你可以做的很少,但你可以轻拍一下等待。

此问题几乎总是由加载项引起的。 Resharper当然是一个很好的候选人。通过逐个禁用加载项直到问题消失,您找到了麻烦制造者。这是新版本的Visual Studio常见的问题,它需要插件供应商一段时间才能解决错误和挂断问题。请与供应商联系以获取支持,并一般查找可能解决问题的更新。

答案 2 :(得分:7)

删除解决方案" suo"文件为我工作。

答案 3 :(得分:6)

我遇到了同样的问题,就我而言,它是DevExpress。

每次我执行复制或剪切操作时,似乎都会挂起Visual Studio,然后显示消息:

  

“等待后台操作完成”。

事实证明它实际上是在后台完成一项任务,而且它需要一段时间才能完成(超过5分钟)。

也许如果我已经正常等待,它本可以消失,但最终解决的是将工具箱调入视图(被隐藏/折叠),这反过来又会出现一个窗口:

  

“添加[SomeDevExpressAssemblyNameHere] .dll”

这会不断更新DevExpress填充工具栏所需的每个dll的名称。

通过这种方式我可以看到操作进度,完成后我可以像往常一样再次使用复制/剪切粘贴。

希望这有帮助。

答案 4 :(得分:5)

对我来说,修复是将Web Essentials 2012更新到1.8版。

有问题的版本是1.6

答案 5 :(得分:5)

工具>选项>文本编辑器> HTML>标签 - > Identing - >没有设置为我解决了这个问题。

答案 6 :(得分:3)

这为我解决了这个问题:

工具>选项>文本编辑器> HTML>杂项

取消选中“在源视图中粘贴时自动ID元素”选项

如果问题出现,我会发布更新。

答案 7 :(得分:2)

我有几天这个问题,尝试卸载并重新安装我的visual studio 2012终极版SP3 ...... 仍然没有奏效。 所以我删除了所有扩展(VS 2012和Nuget Package下载器的git工具), 重新开始我的VS,它的作品再次受到了欢迎! 希望它有效!

祝你好运!

答案 8 :(得分:1)

检查IIS或其他进程(可能是BizTalk)是否锁定了您的DLL /引用
杀死/停止IIS或其他进程(如果是

答案 9 :(得分:1)

打开Visual Studio,创建一个新的MVC应用程序,关闭新的应用程序,打开旧的应用程序,它就可以了!

答案 10 :(得分:1)

远非理想的解决方案,但请尝试以管理员模式运行visual studio 我几乎尝试了一切,这是唯一对我有用的东西

答案 11 :(得分:1)

对我而言,它似乎与剃刀语法有关,因为我只在一个特定文件上使用它。

例如,如果我将以下代码放在一行中,我就会遇到上述问题。

  

@section BodyClassName {note}

但是当把右括号放在下一行时,问题就消失了

  

@section BodyClassName {注意   }

亲切的问候

斯泰恩

答案 12 :(得分:1)

刚刚与Codemaid插件重现了类似的问题。 Found this conversation

  

这个问题有很多细节,但试着回顾一下这个问题   是什么VSIS C ++ API在API时引入了死锁问题   从UI线程(例如像Spade的WPF上下文)访问。事实并非如此   VS2010中的一个问题,微软已经修复了它的前进方向   VS2013但他们不会为VS2012打补丁。

似乎表明应该修复(对于Codemaid):

  

请密切注意这个线程,以便持续解决问题   问题。它与更大的重写相关联,所以我一直在努力   它首先添加了大量的单元测试,以帮助确保功能   在变化之后保持一致。

答案 13 :(得分:1)

我在虚拟机中运行visual studio时遇到了这个问题 - 在Mac OS X Mountain Lion上运行的Virtual Box 4.2,托管了一个新的Windows 7安装,但没有安装任何其他功能但Visual Studio。我发现问题是由两个不同的问题引起的。

首先,我的项目是在主机操作系统共享的文件夹上。换句话说,在Windows Guest上,我的项目出现在网络驱动器上。因此,从网络驱动器在Visual Studio中打开项目似乎会导致此问题,因为当我将项目复制到Windows VM的C驱动器上并在Visual Studio中从C驱动器上的副本中打开它时,问题就消失了。

其次,当虚拟机上的硬盘驱动器满了时,我又开始遇到问题了。我在硬盘上有大约1GB的可用空间。当我增加虚拟机上硬盘的大小时,这个问题就消失了。

答案 14 :(得分:1)

http://geekswithblogs.net/sevenfortytwo/archive/2006/11/23/97947.aspx

RUN> iisreset 

现在它与VS 2012一起正常运作

答案 15 :(得分:0)

我遇到了同样的问题并且以管理员身份运行VS似乎已经为我做了伎俩(我在Visual Studio 2012 Express Hangs with Message "Waiting for Background Operation to Complete" on Format Document Command发布了一个类似的问题,这个问题被标记为这个问题的副本,所以我想我会在这里分享)。

答案 16 :(得分:0)

我在关闭TeamViewer 8剪贴板同步后几周就修好了!现在它没有任何理由回来,所以我尝试重置所有设置,它对我有效。

答案 17 :(得分:0)

我发现VS还会在“后台操作”期间加载包。您可以删除不需要的扩展名以使操作更快。

答案 18 :(得分:0)

对我来说,正是Resharper插件打开了一个没有显示的对话框。我只在任务栏的隐藏图标菜单中找到了对话框图标。当我摆脱对话框时,Visual Studio立即恢复正常。

答案 19 :(得分:0)

我想我找到了一个线索!每件事都以dcomcnfg.exe结束!

打开它并进入以下路径:

组件服务>计算机>我的电脑> dcom config

点击dcom后,您会看到许多警告取决于您电脑上的组件数量。

在每个消息框中单击“是”,以便为dcom添加正确的记录。