我们拥有超过200个项目和数千个文件的非常大的解决方案。尽管这个解决方案在Visual Studio 2010和2012中都用得非常快,但是,在将整个SVN存储库复制到另一个位置之后,加载和关闭解决方案突然花费了很长时间。 (我在这里谈论30-60分钟!)为什么在Visual Studio中加载我的解决方案需要很长时间?
回答
我自己找到了一个解决方案,我希望在这里分享它,希望它可以为某人节省几个小时的研究时间并盯着“准备解决方案”。 。“对话框。
当使用Process Monitor检查devenv.exe进程时,我发现访问.svn
目录非常繁忙。这里是我做了(这在某种程度上解决了这个问题):
- 杀的Visual Studio
- 打开Visual Studio,而无需加载一个解决方案
- 禁用AnkhSVN的源控件插件(工具 - >选项 - >源代码控制 - >插件选择 - >无)
- 在生产力电动工具(工具 - >选项 - >生产力电动工具)中禁用“Document Well 2010 Plus”(VS2010)或“自定义文件良好”(VS2012) - 我读过这个地方,它可能也有帮助...
- 关闭Visual Studio
- 删除解决方案的
*.suo
文件。这与解决方案本身位于相同的文件夹中。 注:你会失去一些设置您的解决方案,如当前打开的文件,断点,书签,当前的解决方案配置&平台(例如调试86)等 - 重新启动Visual Studio
- 负载的解决方案 - 这是多少现在更快!
- 关闭Visual Studio的
- 打开Visual Studio,而无需加载一个解决方案
- 重新启用AnkhSVN的和 “文档井”
- 重新启动Visual Studio
- 打开的解决方案 - 它仍然装在几秒钟!
我不知道这些步骤中的哪一个实际上解决了问题。可能并非所有这些步骤都是必需的,但我不想重现问题以找出哪些步骤可以省略。 :)
我试过以上,但它并没有解决我的问题。
这是我解决这个问题如何得到的,希望这会为一些你还有工作:
- 打开Visual Studio 2013无解。
- 创建一个新的C#控制台应用程序并保存它。
- 关闭Visual Studio。
- 重新打开步骤2中创建的控制台解决方案。
- 关闭Visual Studio。
- 重新打开之前挂在“准备解决方案”对话框中的解决方案。矿立即开放,不再悬挂。
fwiw,我意识到这是一个迟到的条目,但我发现只是删除(删除)我的大量断点解决了过多的加载时间和编译时间。 此操作将.suo文件的大小从214MB减小到977KB。让VS处理.suo文件本身。 编译和加载现在需要1分钟而不是5-10分钟,以获得35个项目的解决方案。 Visual Studio 2012 Pro,更新4.
没有那些帮助我,我做了什么......我看着sysinternals的ProcMon,过滤devenv,我看到了很多fussionlog的条目。在几周前我已经为调试目的启用了fussionlog,并没有想到禁用它。我只需要禁用fussionlog并且解决方案打开得更快。
您可以在安全模式下打开Visual Studio,然后在打开项目后检查插件和源代码控制设置。 安全模式的意思是“启动Visual Studio,只加载默认环境和服务。”
如何:
devenv /SafeMode
或根据您的路径
"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe" /SafeMode
其他答案都不为我工作。 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多秒减少到几乎即时。
在我的情况,下面没有任何的中间步骤的工作建议:
- 杀的Visual Studio。
- 直接启动Visual Studio(即,不是来自.sln文件)。
- 然后,从Visual Studio中打开解决方案。
在我的情况下,这只是使问题解决方案加载速度非常快,而不需要我更改任何设置或删除任何文件。
- 1. Visual Studio需要很长时间才能加载解决方案
- 2. Visual Studio需要花费很长时间来构建和加载解决方案,因为Nugget
- 3. 为什么我的ComboBox在Visual Studio中运行我的程序时需要很长时间才能下载?
- 4. 解决Visual Studio 2008在加载解决方案时崩溃
- 5. visual studio:为什么需要添加ref解决方案资源管理器?
- 6. 为什么IIS7需要很长时间
- 7. XmlSerializer.Serialize需要很长时间...为什么?
- 8. Angular - 为什么网站需要很长时间才能加载?
- 9. Visual Studio:单一解决方案还是很多解决方案?
- 10. 需要时间管理解决方案
- 11. 为什么visual studio需要nodejs项目的解决方案文件?
- 12. 解决方案加载时自动加载VSPackage visual studio扩展?
- 13. 当我使用Visual Studio 2012打开Visual Studio 2010解决方案时,需要什么版本的SQL Server?
- 14. 是否需要将Visual Studio Express解决方案转换为Visual Studio Professional解决方案?
- 15. Visual Studio 2003解决方案到Visual Studio 2013解决方案
- 16. 网站需要很长的时间来启动解决方案构建
- 17. 为什么Visual Studio 2010要求我更新2010年创建的解决方案?
- 18. 将Visual Studio 2008解决方案转换为2010无需Visual Studio?
- 19. 为什么我的Eclipse需要很长时间才能启动?
- 20. 为什么GLPSOL(GLPK)需要很长时间才能解决大型MIP?
- 21. 为什么Visual Studio 2017正在发布整个解决方案?
- 22. 为什么在Android Studio中清理需要这么长时间
- 23. 什么是在Visual Studio中的解决方案文件夹
- 24. 为什么在mysql中重命名列需要很长时间?
- 25. 保存对象在Devexpress中需要很长时间,为什么?
- 26. 在Visual Studio .NET IDE中加载2个解决方案
- 27. visual studio解决方案
- 28. Visual Studio解决方案
- 29. 为什么要通过Visual Studio部署我的天蓝色网络角色需要很长时间?
- 30. 尝试加载解决方案文件时,Visual Studio 2008崩溃
感谢您分享此内容。在我的情况下,删除suo文件改善了解决方案的加载性能。 – rpattabi
谢谢在过去的几天里,我一直有这么多麻烦,并且有大量关于这样的东西的抱怨,但没有其他答案可以解决我的问题。 – mikeLspohn
第6步为我解决了问题 - 删除解决方案的“* .suo”文件。 – SausageFingers