Visual studio 2010 为什么在VisualStudio中加载我的解决方案需要很长时间?

Visual studio 2010 为什么在VisualStudio中加载我的解决方案需要很长时间?,visual-studio-2010,visual-studio,visual-studio-2012,ankhsvn,productivity-power-tools,Visual Studio 2010,Visual Studio,Visual Studio 2012,Ankhsvn,Productivity Power Tools,我们有一个非常大的解决方案,有200多个项目和数千个文件。尽管如此,该解决方案在VisualStudio2010和2012中的加载速度都非常快。但是,在将整个SVN存储库复制到另一个位置之后,加载和关闭解决方案突然花费了非常长的时间。(我在这里说的是30-60分钟!)我自己找到了一个解决方案,我想在这里与大家分享,希望它能为大家节省好几个小时的研究和“准备解决方案…”对话框 在使用process Monitor检查devenv.exe进程时,我发现它正忙于访问.svn目录。以下是我所做的(这以某

我们有一个非常大的解决方案,有200多个项目和数千个文件。尽管如此,该解决方案在VisualStudio2010和2012中的加载速度都非常快。但是,在将整个SVN存储库复制到另一个位置之后,加载和关闭解决方案突然花费了非常长的时间。(我在这里说的是30-60分钟!)

我自己找到了一个解决方案,我想在这里与大家分享,希望它能为大家节省好几个小时的研究和“准备解决方案…”对话框

在使用process Monitor检查devenv.exe进程时,我发现它正忙于访问
.svn
目录。以下是我所做的(这以某种方式解决了问题):

  • 杀死Visual Studio
  • 在不加载解决方案的情况下打开Visual Studio
  • 禁用AnkhSvn作为源代码管理插件(工具->选项->源代码管理->插件选择->无)
  • 禁用生产力工具(工具->选项->生产力工具)中的“Document Well 2010 Plus”(VS2010)或“Custom Document Well”(VS2012)-我在某个地方读到过,它可能也有帮助
  • 关闭Visual Studio
  • 删除解决方案的
    *.suo
    文件。这与解决方案本身位于同一文件夹中注意:您将丢失解决方案的若干设置,如当前打开的文件、断点、书签、当前解决方案配置和平台(如调试x86)等
  • 重新启动Visual Studio
  • 加载解决方案-现在快多了
  • 关闭Visual Studio
  • 在不加载解决方案的情况下打开Visual Studio
  • 重新启用AnkhSvn和“文档井”
  • 重新启动Visual Studio
  • 打开解决方案-它仍在几秒钟内加载
    我不知道这些步骤中哪一个真正解决了问题。可能并非所有这些步骤都是必需的,但我不想重复这个问题来找出哪些步骤可以省略。:)

    我尝试了上述方法,但没有解决我的问题

    下面是我如何解决这个问题的,希望它也能对你们中的一些人起作用:

  • 在没有解决方案的情况下打开Visual Studio 2013
  • 创建一个新的C#控制台应用程序并保存它
  • 关闭VisualStudio
  • 重新打开在步骤2中创建的控制台解决方案
  • 关闭VisualStudio
  • 重新打开以前挂在“准备解决方案”对话框上的解决方案。我的马上就打开了,不再挂了

  • fwiw,我意识到这是一个很晚的条目,但我发现简单地删除大量断点就可以解决过多的加载时间和编译时间。 此操作将.suo文件的大小从214MB减少到977KB。让VS自己处理.suo文件。
    对于包含35个项目的解决方案,编译和加载现在需要<1分钟,而不是5-10分钟。Visual Studio 2012 Pro,更新4。

    这些都没有帮助我,我所做的。。。我用sysinternals的ProcMon观察,过滤devenv,我看到很多fusionlog条目。几周前,我为了调试目的启用了FusionLog,但没有考虑禁用它。我只需禁用FusionLog,解决方案打开得更快。

    您可以在安全模式下打开Visual Studio,然后在打开项目后检查插件和源代码管理设置。 安全模式意味着“启动Visual Studio,仅加载默认环境和服务。”

    如何:

    还是按照你的路线

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

    来源:

    其他答案都不适合我。CI编译时间还行,但在VisualStudio中加载我的解决方案几乎需要两分钟。VS将正常运行,直到我下次关闭并打开解决方案。不同版本的VS都显示了相同的问题,安全模式和删除suo都没有帮助

    我最终按照中的建议使用Windows Performance Recorder检测VS并找到问题。通过查看Windows Performance Analyzer中的“CPU使用率(采样)”部分并添加“堆栈(帧标记)”列,我能够深入了解
    devenv.exe的使用情况


    结果显示,按计数的热路径有
    Microsoft.VisualStudio.Platform.WindowManagement.ni.dll
    23次调用,低于此调用的最终是
    Microsoft.VisualStudio.ServerExplorer.dll
    Microsoft.VisualStudio.Data.Package.dll
    。这让我在UI中查看服务器资源管理器并打开数据连接选项卡。在那里,我发现数百个错误添加的连接来自debug
    web.config
    的ConnectionString部分。从
    web.config
    中删除这些文件将单个项目的负载从90多秒减少到几乎瞬间。

    在我的情况下,以下操作没有任何建议的干预步骤:

  • 杀死VisualStudio
  • 直接启动Visual Studio(即,不从.sln文件启动)
  • 然后,从VisualStudio中打开解决方案

  • 在我的例子中,这就是快速加载问题解决方案所需的全部,而无需更改任何设置或删除任何文件。

    使用Visual Studio 2015,我最终创建了一个新的解决方案,添加了现有的项目

    从gehho的答案中删除*.suo在过去是有帮助的,但在这种情况下对我没有帮助。在解决方案根目录下隐藏的.vs文件夹中还有另一个.suo文件


    对于Visual Studio 2015,这里还有其他答案。我最近(2021年3月)才使用VS 2019遇到这个问题。加载文件(每个文件)通常需要30秒以上的时间。 它只影响布局文件。我相信这可能与文件中的链接有关。我没有时间调查他们。 然而,我写这篇文章的目的是建议,不管问题的原因是什么,一个简单的解决方案是右键单击o
    "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe" /SafeMode