【问题标题】:Why does it take sooo long to load my solution in Visual Studio?为什么在 Visual Studio 中加载我的解决方案需要很长时间?
【发布时间】:2013-08-24 00:05:18
【问题描述】:

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

【问题讨论】:

    标签: visual-studio-2010 visual-studio visual-studio-2012 ankhsvn productivity-power-tools


    【解决方案1】:

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

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

    1. 杀死 Visual Studio
    2. 在不加载解决方案的情况下打开 Visual Studio
    3. 禁用 AnkhSvn 作为源代码管理插件(工具->选项->源代码管理->插件选择->无)
    4. 在 Productivity Power Tools(Tools->Options->Productivity Power Tools)中禁用“Document Well 2010 Plus”(VS2010)或“Custom Document Well”(VS2012) - 我在某处读到过,它可能会有所帮助还有……
    5. 关闭 Visual Studio
    6. 删除解决方案的*.suo 文件。它与解决方案本身位于同一文件夹中。 注意:您将丢失解决方案的多项设置,例如当前打开的文件、断点、书签、当前解决方案配置和平台(例如调试 x86)等。
    7. 重启 Visual Studio
    8. 加载解决方案 - 现在速度更快了!
    9. 关闭 Visual Studio
    10. 在不加载解决方案的情况下打开 Visual Studio
    11. 重新启用 AnkhSvn 和“文档井”
    12. 重启 Visual Studio
    13. 打开解决方案 - 它仍然在几秒钟内加载!

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

    【讨论】:

    • 感谢分享。就我而言,删除 suo 文件提高了解决方案的加载性能。
    • 第 6 步为我修复了它 - 删除解决方案的 *.suo 文件。
    • 在我看来这是一篇有用的博文:briannoyes.net/2008/05/10/…
    • 第 6 步也为我修好了。
    • 我只做了第 3 步来禁用 AnkhSvn 插件。这对我有用。从半小时到一分钟。
    【解决方案2】:

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

    以下是我解决此问题的方法,希望它也适用于你们中的一些人:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        这些都没有帮助我,我做了什么......我用 sysinternals 的 ProcMon 观看,过滤 devenv,我看到了很多 fussionlog 条目。几周前,我出于调试目的启用了 fussionlog,并没有考虑禁用它。我只需要禁用 fussionlog,解决方案打开得更快。

        【讨论】:

          【解决方案5】:

          您可以在安全模式下打开 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

          【讨论】:

            【解决方案6】:

            其他答案都不适合我。 CI 编译时间很好,但在 Visual Studio 中加载我的解决方案需要将近两分钟。然后 VS 会运行得很好,直到我下次关闭并打开解决方案。不同版本的VS都出现了同样的问题,安全模式和删除suo都没有帮助。

            我最终按照http://geekswithblogs.net/akraus1/archive/2014/04/30/156156.aspx 中的建议使用 Windows 性能记录器来检测 VS 并找到问题。通过查看“CPU 使用情况(采样)”部分下的 Windows 性能分析器并添加“堆栈(帧标记)”列,我能够深入了解 devenv.exe 的使用情况。

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

            【讨论】:

              【解决方案7】:

              在我的情况下,以下工作无需任何建议的干预步骤:

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

              在我的情况下,这就是使问题解决方案加载得非常快所需的全部内容,而无需我更改任何设置或删除任何文件。

              【讨论】:

              • 对我来说这非常有效。从打开 VS 并结合解决方案只需几分钟,到完成所有三个步骤只需不到一分钟。
              【解决方案8】:

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

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

              Visual Studio 2015 Visual Studio 2015 is extremely slow这里还有其他答案

              【讨论】:

                【解决方案9】:

                我最近才遇到这个问题(2021 年 3 月),使用 VS 2019。从字面上看,加载文件(每个)需要 30 多秒。 它只影响布局文件。我相信这可能与文件中的链接有关。我没有时间调查他们。 但是,我写这篇文章是为了建议不管问题的原因是什么,一个简单的解决方案是右键单击该文件并用记事本打开它以完成您的工作。

                【讨论】:

                  【解决方案10】:

                  就我而言,这是由于 TFS 问题。它认为有超过 5000 个待处理的更改。

                  解决方法是强制 TFS 重新检查。转到团队资源管理器 -> 源代码管理资源管理器,然后对有待更改的项目执行“获取最新”。对于已经匹配 TFS 的内容,Visual Studio 实际上不会将任何内容下载到您的 PC。对于 TFS 的不同之处,Visual Studio 会通知您并要求您协调差异。

                  这是 VS 2019 专业版。

                  【讨论】:

                    【解决方案11】:

                    我有不同的原因导致项目加载缓慢。

                    我的情况是使用 Git,发现即使切换分支也比项目负载要慢。

                    解决方案:以管理员身份运行 Visual Studio

                    原因:公司笔记本电脑的某些东西没有提供所需的 Git 工具访问权限(它无法识别 git 存储库正在使用中)。

                    我没有发现 Git 或我对任何项目文件或 Git 对象的个人访问有任何问题。

                    【讨论】:

                      猜你喜欢
                      • 1970-01-01
                      • 1970-01-01
                      • 2022-11-11
                      • 1970-01-01
                      • 2013-07-26
                      • 1970-01-01
                      • 2020-08-27
                      • 2012-01-14
                      • 2011-04-22
                      相关资源
                      最近更新 更多