【问题标题】:Visual Studio 2013 hangs when opening a solution打开解决方案时 Visual Studio 2013 挂起
【发布时间】:2013-12-05 21:46:43
【问题描述】:

我在一两天前安装了 VS2013 (v12.0.21005.1) 并添加了 ReSharper 8 (v8.0.2000.2660)。那天还不错。现在我很幸运,如果我能在一整天内打开一个解决方案。它可以自行打开,但是当我尝试从内部打开解决方案时 - 通过菜单 - 它挂起,严重。如果我在 Windows 资源管理器中右键单击解决方案并“使用 VS 2013 打开”,它会以完全相同的方式打开然后挂起。每隔几个小时,我都会时不时地注意到它正忙于某事。

在我忍受无法解决问题的重新安装之前,有人知道可能出了什么问题吗?

【问题讨论】:

  • 您是否尝试过删除 ReSharpher 以防发生冲突?
  • 用VS2012打开会发生什么?该解决方案包含多少个项目类型/语言?
  • @Roel,VS2012 完美运行。我总共有大约 20 个 WPF 应用程序和类库,全部使用 c# 和 xaml。
  • 您对此有进一步了解吗?我在我的工作站(办公室)上遇到了类似的问题。我在 Core i7 笔记本上的私有副本在相同的场景中工作得非常好:在主要由原生 c++ 项目组成的大型解决方案上运行构建......

标签: visual-studio visual-studio-2013


【解决方案1】:

基本上它可以是任何东西,但你可以尝试一些方法:

  1. 关闭再打开。
  2. 清除 ReSharper 缓存,它位于 %LOCALAPPDATA%\JetBrains\ReSharper\<CurrentVersion>\SolutionCaches,您应该在其中找到与您尝试打开的解决方案匹配的文件夹。只需关闭所有 VS2013 实例,删除文件夹并重试。
  3. 关闭 ReSharper:Tools > Options > ReSharper > General > Suspend
  4. 完全卸载 ReSharper,看看问题是否仍然存在。
  5. 通过Programs and Features修复Visual Studio。

【讨论】:

  • 哈哈,这几天一直关机又开机。甚至整机。哇,那个解决方案缓存太胖了。
  • 帮我完成了第 2 步。现在 Resharper 8.1 %LOCALAPPDATA%\JetBrains\ReSharper\v8.1\SolutionCaches 的路径略有不同
  • 卸载和重新安装 ReSharper 似乎对我有用!
  • 从 ReSharper 版本 9 开始,缓存文件夹的路径似乎是 %LOCALAPPDATA%\JetBrains\Transient\ReSharperPlatformVs12
  • 谢谢。当我使用选项 3 时,解决方案正确打开,所以问题确实出在 ReSharper 上。加载解决方案后再次打开它不起作用,步骤 1 和 2 也不起作用。现在我已经卸载了 ReSharper (v7.1.*) 并安装了最新版本 (9.2.*) 试用版,现在一切正常。 Visual Studio 不再冻结。现在我只需要联系我的主管以获得 ReSharper 9 许可证。
【解决方案2】:

我发现以下是基于 MS Connect instructions 调试 VS 的更好方法

请帮助确认您捕获的转储文件是否为 32 位转储文件。如果是 64 位转储文件,请使用以下步骤捕获新的转储文件。

  1. 启动 Visual Studio。
  2. 启动另一个 VS 实例。
  3. 在第二种情况下,单击工具 |附加到进程...
  4. 在进程列表中找到 devenv.exe。
  5. 单击选择...并明确选择“本机”和“托管”代码。
  6. 单击“确定”和“确定”关闭“选择”对话框和“附加到进程”对话框。
  7. 回到 VS 的第一个实例并重现挂起。
  8. 挂起后,控制权应转到 VS 的第二个实例。如果不是,请手动返回 VS 的第二个实例,然后点击“Break All”。
  9. 在第二个实例中单击调试 |将转储另存为带堆的小型转储。

如果您正在运行 VB 配置文件,您将看不到 Save Dump As 菜单项。添加此菜单项:

  1. 选择工具 -> 自定义
  2. 选择“命令”选项卡
  3. 从菜单栏下拉菜单中选择调试
  4. 点击添加命令...
  5. 从类别列表中选择调试。
  6. 在“命令”窗口中找到“转储另存为”条目。
  7. 单击“确定”(将转储另存为...命令添加到“调试”菜单的顶部)。
  8. 点击关闭

您可以在http://blogs.msdn.com/debugger/archive/2009/12/30/what-is-a-dump-and-how-do-i-create-one.aspx获取有关如何获取转储文件和调用堆栈的详细步骤

如果您发现问题出在 Resharper Addin,您可以通过 - http://youtrack.jetbrains.com/issues/RSRP 报告问题

【讨论】:

  • 这对我有用。就我而言,我有一个构建目标指向一个不存在的文件 - 调试让我知道发生了什么。
  • 我的 .dmp 文件是 708 mb...为什么这么大?这正常吗?
  • @JamesWierzba,不幸的是,我看到了大型转储文件。如果您打开了 resharper,它通常使用 500-800MB,因此 VS 可能还包括 Add-in + 一些项目代码详细信息以帮助他们隔离问题。如果您正在运行 re-sharper,您可以打开该产品的内存使用情况,这对于大型项目来说是一个有趣的价值。
  • 9.在 VS 10 中打开转储文件。确保加载了所需的调试符号(搜索此符号) 11. 从转储文件窗口右上角的“Action/Debug with ...”运行转储。就个人而言,我很难找到问题,但我同意这可能是解决问题的最佳方法。
【解决方案3】:

有时只需删除“.v12.suo”文件并尝试再次打开解决方案就足够了。当 VS2013 在加载项目时卡住时,帮助了我很多次。

【讨论】:

  • 删除 .v12.suo 文件似乎对我有用。谢谢。
  • ...即使我对此感到厌烦,VS 会像每打开一个项目 3-4 次一样冻结一次...
  • 同样的事情发生在我身上,令人惊讶的是 VS 变得如此糟糕。
  • 帮助了我,但现在我每次打开解决方案时都必须删除 .v12.suo。显然,解决方案中的一个项目或其软件包存在一些问题,但这令人沮丧。有人知道我该如何进行更多调查吗?
  • 删除 .suo 文件确实可以加载它。但我不应该每次都删除它。在我的一个解决方案中,我每次都必须删除 .suo 文件。
【解决方案4】:

我最近也遇到了这个问题,发现在加载项目时断开我的计算机与互联网的连接可以解决这个问题。有了这个,我设法将加载时间从几个小时缩短到几秒钟。由于我的网线不是特别容易使用,我只是在加载项目之前禁用了我的网络适配器(在控制面板中)。

然而,这很快变得令人沮丧,我最近再次调查了这个问题。似乎在 Visual Studio 中登录我的 Microsoft 帐户最终解决了这个问题,现在我在加载项目时不再遇到问题。

这也可能对您有用(如果您还没有修复它 - 但由于这里没有可接受的答案,我认为问题仍然存在),所以我建议您至少尝试断开与互联网的连接,即使您不想输入您的 Microsoft 凭据。

【讨论】:

    【解决方案5】:

    检查 Windows 更新

    我也有这个问题。此外,我无法打开我的 Windows 防火墙设置(试图阻止 VS 的互联网连接)。

    打开更新设置 (Windows 8) 时,我看到有一个待处理的更新(“今天找到”),所以我重新启动计算机,让 Windows 更新。之后,VS 和防火墙再次正常工作。

    检查您的硬件

    我第二次遇到这个问题;甚至 Windows 8 的更新页面也会永远加载。这是我的(非操作系统)硬盘驱动器的问题:https://superuser.com/questions/756261/various-parts-of-windows-8-and-visual-studio-2013-get-blocked-by-possibly-comm?noredirect=1#comment978074_756261

    【讨论】:

      【解决方案6】:

      删除所有“.suo”文件对我有用。由于在多个版本的 Visual Studio 中打开解决方案,因此存在多个副本。

      编辑:

      可能的路径是:

      PathToSolution\.vs\ProjectName\v14\

      .vs 可能是一个隐藏文件夹。

      .suo 是文件名。

      【讨论】:

      • 对于路径 +1.. ?
      • 谢谢。删除隐藏文件夹中的这个文件解决了这个问题
      【解决方案7】:

      当我检查由 VS.Net 2012 创建的解决方案文件时,我遇到了类似的问题。为了解决这个问题,我创建了虚拟解决方案文件并从 vs.net 2012 重新加载了项目。

      还观察到当 nuget 包更新搞砸时,当您重新加载解决方案时,Visual Studio 可能会挂起。

      当加载 nuget 包时出现问题时,Visual Studio 可能会挂起。

      【讨论】:

        【解决方案8】:

        我时不时遇到这个问题 - VS 2013 Update 2、Win 8.1、IE 11。

        试试这个 - 打开任务管理器,杀死挂起的 VS 应用程序,然后关闭后台进程列表中正在运行的所有 IE 会话 - 可能有一个或多个挂起。

        重启VS

        似乎为我清除了它,无需重新启动。

        【讨论】:

          【解决方案9】:

          暂停 Resharper 为我工作。 转到

          工具 -> 选项 -> ReSharper -> 常规 -> 立即暂停

          现在您的解决方案将加载得非常快。 在您的解决方案完全加载后,您可以将 Resharper 设置更改为立即恢复

          【讨论】:

            【解决方案10】:

            您是否在项目中使用任何节点模块?或者您能确定这是 ReSharper 特有的问题吗?

            如果您有 NPM 模块(例如,用于 Grunt),请将您的“node_modules”文件夹标记为“隐藏”(尽管无需隐藏子文件夹),然后重试。

            Visual Studio 一直为我打开,结果它试图扫描深度嵌套的节点模块,其文件路径长于 Windows 最大值(260 个字符),这阻止了我在 VS 中打开解决方案,但标记隐藏的文件夹解决了这个问题。

            【讨论】:

              【解决方案11】:

              我进入了 %LOCALAPPDATA%\JetBrains\ReSharper\ 并打开所有寻找解决方案缓存的目录,并清空所有目录。问题解决了。应用程序很大,所以这很有帮助。

              【讨论】:

              • 这就是为我解决的问题 - 我的每次似乎都卡在“处理程序集”上,似乎是随机的、不同的程序集。我在该文件夹中搜索“SolutionCaches”并删除了每个结果的内容。现在好像修好了。
              【解决方案12】:

              在我的例子中,VS 2013 Professional 在每一次启动时都挂起,即使没有打开解决方案,因为许可证不再有效。

              日志文件中的最后一项:

              <entry>
                  <record>367</record>
                  <time>2015/07/13 20:11:05.051</time>
                  <type>Information</type>
                  <source>UserConnection</source>
                  <description>myemailaddrs@gmail.com signed in for IDE user</description>
              </entry>
              

              在 msdn.microsoft.com 订阅页面上:“您的订阅不再有效,请联系您的管理员。”

              我必须从我的雇主那里获得更新的订阅。

              【讨论】:

                【解决方案13】:

                从我的 TestResults 文件夹中删除测试结果实际上对我有用。只是另一件事要尝试。

                【讨论】:

                  【解决方案14】:

                  我遇到的问题是 Perforce 连接。

                  打开解决方案时,它会询问我是否希望它连接到 Perforce。允许它尝试会使其挂起并分配 1.5 GB 的 RAM。

                  不允许 P4 连接让它正确加载(分配 1 GB RAM)。然后我可以告诉它之后连接到 P4,现在可以了。

                  【讨论】:

                    【解决方案15】:

                    VS2012 挂在我身上,例如在网络共享上打开 csproj 文件时(实际上是在 VirtualBox 主机上的共享上,使用 VirtualBox 功能作为 smb 共享连接)。

                    将项目复制到本地驱动器为我修复了它。不确定分配驱动器号是否可以解决问题。

                    也不确定为什么它不能通过网络共享工作,如果它是一个 VS 限制或者可能是一些插件(我当然使用 resharper)。

                    【讨论】:

                      【解决方案16】:

                      尝试使用“控制面板”卸载扩展程序或禁用 [​​工具]=>[加载项管理器] 中的任何加载项,然后尝试重新打开解决方案。

                      卸载“Visual Localizer”解决了我的问题。

                      【讨论】:

                        【解决方案17】:

                        我恢复了以前版本的 .vbproj 文件,它解决了它。

                        我不知道新版本中有什么,但问题出在 .bvproj 文件本身。

                        【讨论】:

                          【解决方案18】:

                          对我来说,无论是电脑因停电而崩溃,还是有时在半夜强制重启。什么对我有用

                          删除此目录中的所有文件:

                          C:\Users\yourusername\AppData\Local\Microsoft\WebsiteCache\

                          【讨论】:

                          • 相同场景:电源故障,完全崩溃,Windows 重新启动,我可以加载 sln,但 csproj 文件中的所有设置都被忽略。删除了 suo 和上面提到的 fodler (这是 fuuuL :-) )到目前为止一切似乎都很好。
                          【解决方案19】:

                          在我的情况下,Fusion 日志已启用。由于我在调查后忘记将其关闭,日志文件已经增长了几个月。这样杀毒软件在打开解决方案的过程中开始多次检查这些大日志文件,并且“正在准备解决方案...”消息长时间可见。当我注意到这一点时,我关闭了融合日志,问题就解决了。解决方案在 10 秒内加载,而不是 20 分钟。

                          【讨论】:

                            【解决方案20】:

                            在几乎所有版本的 VS 中,我都多次遇到此问题。大多数情况下似乎有效的一种解决方案是删除位于解决方案文件夹中的 .vs 文件夹。有时删除位于 .vs/// 中的 .sou 文件就足够了

                            顺便说一下,文件夹是隐藏的,所以你必须启用“显示隐藏的文件和文件夹”

                            【讨论】:

                              【解决方案21】:

                              对我来说,解决方案是禁用源代码控制(在工具->源代码控制中将插件设置为无)。我认为它出于某种原因试图同步一些巨大的 Git 存储库(有几个大型存储库,但不在我试图打开的树中)。

                              【讨论】:

                                【解决方案22】:

                                对我来说,这似乎与具有 MVC 4 项目类型 guid (E3E379DF-F4C6-4180-9B81-6769533ABE47) 的项目有关。从.csproj 中删除此指南为我解决了问题。 (删除 guid 后需要再次擦除 .vs 文件夹。)

                                【讨论】:

                                  【解决方案23】:

                                  我刚刚从解决方案的根目录中删除了“packages”文件夹,它对我有帮助(Visual Studio Express 2015)

                                  【讨论】:

                                    【解决方案24】:

                                    很抱歉不得不创建一个新帖子而不是对所选答案发表评论。我目前没有足够的代表发表评论。

                                    我的问题被“...删除 .suo 文件...”解决方案暂时解决了,正如其他人指出的那样,我每次都必须删除该文件。

                                    因为它(显然)不可能停止创建文件,所以我开始深入研究文件的作用。除了保存用户设置,我相信它也是保存会话设置,比如关闭 VS 时你打开了哪些文件。我怀疑我的项目正试图打开一个不再存在的文件,这就是导致挂起的原因。我最终解决的问题是删除.suo,打开VS,在我的解决方案中打开一个文件,构建并关闭解决方案。这样做之后,我没有挂起。

                                    tl:dr

                                    在我的例子中,一个用户设置文件 (.suo) 试图在我的解决方案中打开一个不再存在的文件。我通过执行以下步骤解决了这个问题。

                                    1. 删除 .suo 文件(对我来说,它位于 /[projectfolder]/.vs/[projectname]/v14
                                    2. 打开 Visual Studio
                                    3. 打开您的项目
                                    4. 打开一个文件(我只是打开了一个随机的 .cs 文件)
                                    5. 构建并保存您的解决方案(只需保存即可,我是根据习惯构建的)
                                    6. 关闭 Visual Studio

                                    希望这对某人有所帮助......我们在这个问题上花了太多时间:)

                                    【讨论】:

                                      【解决方案25】:

                                      对于任何仍然提到这对我有帮助的人:

                                      我必须总是删除 .vs12.suo 文件才能加载项目。

                                      我从 Microsoft 发现了这个线程,然后我创建了注册表项,该注册表项解决了我的解决方案加载问题。

                                      https://connect.microsoft.com/VisualStudio/feedback/details/860685/visual-studio-hangs-after-10s-when-loading-solution-corrupt-suo

                                      【讨论】:

                                        【解决方案26】:

                                        这里和其他地方有很多建议,但唯一对我有用的事情与我设定的启动项目有关。这就是我所做的:

                                        1. 按照其他地方的建议删除 .suo 文件。
                                        2. 启动VS并打开解决方案。此时一切都应该很好。
                                        3. 让启动项目保持原样,即使它不是您想要的。
                                        4. 保存解决方案。 (可能按照其他人的建议执行并打开文件、清理、构建/重新构建等,但我不必做任何这些。)
                                        5. 关闭解决方案并退出 VS。
                                        6. 重新启动 VS 并打开解决方案。
                                        7. 将启动项目更改为应有的内容
                                        8. 保存解决方案。 (可能再次打开文件、清理、构建/重新构建等)
                                        9. 关闭解决方案并退出 VS。
                                        10. 重新启动 VS 并重新打开解决方案,应该一切正常。

                                        这可能对你有用,也可能对你不起作用,但我已经尝试了 一切我能找到的 - 注册表更改,从第二个 VS 会话中调试 VS,你的名字 - 但没有其他的工作超过一次启动/打开。

                                        【讨论】:

                                          【解决方案27】:

                                          我已经通过卸载这两个插件解决了这个问题:

                                          1. 生产力工具
                                          2. 网络必备

                                          【讨论】:

                                            猜你喜欢
                                            • 1970-01-01
                                            • 1970-01-01
                                            • 2015-11-28
                                            • 2014-05-08
                                            • 1970-01-01
                                            • 2016-05-23
                                            • 1970-01-01
                                            • 1970-01-01
                                            • 1970-01-01
                                            相关资源
                                            最近更新 更多