回答

60

我自己找到了一个解决方案,我希望在这里分享它,希望它可以为某人节省几个小时的研究时间并盯着“准备解决方案”。 。“对话框。

当使用Process Monitor检查devenv.exe进程时,我发现访问.svn目录非常繁忙。这里是我做了(这在某种程度上解决了这个问题):

  1. 杀的Visual Studio
  2. 打开Visual Studio,而无需加载一个解决方案
  3. 禁用AnkhSVN的源控件插件(工具 - >选项 - >源代码控制 - >插件选择 - >无)
  4. 在生产力电动工具(工具 - >选项 - >生产力电动工具)中禁用“Document Well 2010 Plus”(VS2010)或“自定义文件良好”(VS2012) - 我读过这个地方,它可能也有帮助...
  5. 关闭Visual Studio
  6. 删除解决方案的*.suo文件。这与解决方案本身位于相同的文件夹中。 注:你会失去一些设置您的解决方案,如当前打开的文件,断点,书签,当前的解决方案配置&平台(例如调试86)等
  7. 重新启动Visual Studio
  8. 负载的解决方案 - 这是多少现在更快!
  9. 关闭Visual Studio的
  10. 打开Visual Studio,而无需加载一个解决方案
  11. 重新启用AnkhSVN的和 “文档井”
  12. 重新启动Visual Studio
  13. 打开的解决方案 - 它仍然装在几秒钟!

我不知道这些步骤中的哪一个实际上解决了问题。可能并非所有这些步骤都是必需的,但我不想重现问题以找出哪些步骤可以省略。 :)

+9

感谢您分享此内容。在我的情况下,删除suo文件改善了解决方案的加载性能。 – rpattabi

+0

谢谢在过去的几天里,我一直有这么多麻烦,并且有大量关于这样的东西的抱怨,但没有其他答案可以解决我的问题。 – mikeLspohn

+9

第6步为我解决了问题 - 删除解决方案的“* .suo”文件。 – SausageFingers

0

我试过以上,但它并没有解决我的问题。

这是我解决这个问题如何得到的,希望这会为一些你还有工作:

  1. 打开Visual Studio 2013无解。
  2. 创建一个新的C#控制台应用程序并保存它。
  3. 关闭Visual Studio。
  4. 重新打开步骤2中创建的控制台解决方案。
  5. 关闭Visual Studio。
  6. 重新打开之前挂在“准备解决方案”对话框中的解决方案。矿立即开放,不再悬挂。
1

fwiw,我意识到这是一个迟到的条目,但我发现只是删除(删除)我的大量断点解决了过多的加载时间和编译时间。 此操作将.suo文件的大小从214MB减小到977KB。让VS处理.suo文件本身。 编译和加载现在需要1分钟而不是5-10分钟,以获得35个项目的解决方案。 Visual Studio 2012 Pro,更新4.

5

没有那些帮助我,我做了什么......我看着sysinternals的ProcMon,过滤devenv,我看到了很多fussionlog的条目。在几周前我已经为调试目的启用了fussionlog,并没有想到禁用它。我只需要禁用fussionlog并且解决方案打开得更快。

3

您可以在安全模式下打开Visual Studio,然后在打开项目后检查插件和源代码控制设置。 安全模式的意思是“启动Visual Studio,只加载默认环境和服务。”

如何:

devenv /SafeMode 

或根据您的路径

"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe" /SafeMode 

来源:https://msdn.microsoft.com/en-us/library/ms241278.aspx

0

其他答案都不为我工作。 CI编译时间很好,但在Visual Studio中加载我的解决方案需要将近两分钟。然后,VS将运行良好,直到我关闭并在下次打开解决方案。不同版本的VS都显示相同的问题,安全模式和删除suo都无济于事。

我最终按照http://geekswithblogs.net/akraus1/archive/2014/04/30/156156.aspx中的建议使用Windows Performance Recorder来测试VS并发现问题。通过在“CPU使用率(采样)”部分查看Windows性能分析器并添加“堆栈(帧标签)”列,我可以深入了解devenv.exe的使用情况。

原来计数的热路径有Microsoft.VisualStudio.Platform.WindowManagement.ni.dll 23个调用,最终在Microsoft.VisualStudio.ServerExplorer.dll和和Microsoft.VisualStudio.Data.Package.dll之间。这指出我要在UI中查看Server Explorer并打开Data Connections选项卡。在那里我发现了数百个错误地添加了来自调试web.config的ConnectionString部分的连接。从web.config中删除那些单个项目的负载从90多秒减少到几乎即时。

0

在我的情况,下面没有任何的中间步骤的工作建议:

  1. 杀的Visual Studio。
  2. 直接启动Visual Studio(即,不是来自.sln文件)。
  3. 然后,从Visual Studio中打开解决方案。

在我的情况下,这只是使问题解决方案加载速度非常快,而不需要我更改任何设置或删除任何文件。

相关问题