偶尔,但通常情况下,由于没有明显的原因,VS 2012会锁定一个对话框,上面写着“等待后台操作完成”。例如。这可能发生在普通的旧代码编辑期间,而不是显式调用任何IDE命令。
导致这种情况的原因是什么,我能做些什么呢?
我正在运行ReSharper 7,而且我不是唯一一个遇到过这种情况的人。
答案 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添加正确的记录。