当我打开解决方案时,VS 2010显示的“准备解决方案”对话框是什么废话?这是出现在每个人身上还是搞砸了我的安装?
有人知道它到底在做什么吗?
答案 0 :(得分:32)
以下是Cameron McColl的官方历史:
在Dev10中,我们通过考虑使负载异步来投资改善解决方案加载时间。不幸的是,由于时间限制,这项工作没有进入Dev10,所以我们决定至少通过向用户提供有关解决方案负载期间发生的事情的反馈来使用户体验稍好一些。最初,这涉及一个对话框,该对话框提供有关正在加载的项目数量以及当前加载项目名称的准确反馈。对这种经历的早期测试表明,在项目加载后,通常会有一个非平凡的延迟(即旋转的甜甜圈和“没有响应”窗口标题),并且一旦对话被解除,对话的存在使得这种延迟非常明显。那么延迟是什么?解决方案项目加载后,有两件事情正在发生。首先重新打开所有以前加载的文档/编辑器,对于某些设计器文件,这可能需要几秒钟。其次,通常更糟糕的是我们调用
NotifyOnAfterSolutionOpen
这是VS中的扩展点。此事件的任何订阅者都会在此时运行其代码,而且这些代码通常非常昂贵。对于Dev10,我们没有时间去改善所有这些订户的性能,因此有人认为需要第二个对话框才能清楚地表明解决方案负载仍在进行中。真正糟糕的第二个对话框是它没有告诉你代码的哪一部分导致延迟,更糟糕的是进度控制是字幕样式,这意味着它是非决定性的(与第一个对话框不同)。继续前进,我们将继续研究使解决方案加载真正异步的方法,因此永远不会显示如此讨厌的对话框。 在对话框的辩护中,我们的研究表明,大多数人更喜欢模式状态对话而不是旋转的甜甜圈或无响应的UI。当然,每个人都不会有任何延迟,我们正在为Dev11工作。
答案 1 :(得分:3)
删除solutionname.sln.docstates.suo文件。如果Visual Studio卡住,请重新打开上次关闭解决方案时打开的文档。
答案 2 :(得分:1)
据我所知,这是正常的。它正在加载解决方案文件并执行内务管理,以确保为您准备好所有工具。不确定你被激怒了什么。