代码之家  ›  专栏  ›  技术社区  ›  Tim Coker

Visual Studio 2010“准备解决方案”对话框

  •  33
  • Tim Coker  · 技术社区  · 14 年前

    当我打开解决方案时,与2010年相比,这个“准备解决方案”对话框是什么垃圾?这是针对所有人还是我的安装有问题?

    有人知道它到底在做什么吗?

    3 回复  |  直到 7 年前
        1
  •  32
  •   Matt Trunnell    14 年前

    以下是卡梅伦·麦考尔的官方历史:

    在dev10中,我们投资于通过使负载异步来提高解决方案加载时间。不幸的是,由于时间限制,这项工作没有进入DEV10,因此我们决定至少通过向用户反馈解决方案加载过程中所发生的情况,使用户体验稍微好一点。最初,这涉及到一个对话框,它提供了关于加载了多少个项目以及当前加载项目的名称的准确反馈。对这一经验的早期测试表明,在加载项目之后,通常会有一个非常明显的延迟(即旋转甜甜圈和__没有响应__窗口标题),并且对话框的存在使得一旦对话框被取消,这种延迟非常明显。那么延迟是什么呢?在加载解决方案项目之后,有两件主要事情正在进行。首先,所有先前加载的文档/编辑器都将重新打开,对于某些设计器文件,这可能需要几秒钟的时间。其次,通常更糟的是我们称之为 NotifyOnAfterSolutionOpen 这是与此事件的任何订阅者相比的一个扩展点,在这一点上运行他们的代码,而且通常这段代码非常昂贵。对于dev10,我们没有时间改进所有这些订户的性能,因此需要第二个对话框来明确解决方案加载仍在进行中。第二个对话框最糟糕的是它没有告诉你代码的哪一部分导致了延迟,更糟糕的是,进度控制是字幕样式,这意味着它是非决定因素(与第一个对话框不同)。

    继续前进,我们将继续研究使解决方案加载真正异步的方法,因此永远不会显示这种讨厌的对话。 在对话的辩护中,我们的研究表明,大多数人更喜欢模式状态对话而不是旋转的甜甜圈或无响应的用户界面。当然,每个人都不喜欢延迟,我们正在为dev11开发这个。

        2
  •  3
  •   Eric Schneider    11 年前

    删除solutionname.sln.docstates.suo文件。如果Visual Studio无法重新打开上次关闭解决方案时打开的文档。

        3
  •  1
  •   Lazarus    14 年前

    据我所知,这是正常的。它加载解决方案文件并进行内部维护,以确保为您准备好所有工具。不知道你在生气什么。