Visual Studio 2013打开解决方案时卡住了

108

我一两天前安装了VS2013(v12.0.21005.1),并添加了ReSharper 8(v8.0.2000.2660)。那天它运行得很好。现在,我已经很幸运如果可以在整个一天内打开一个解决方案。它自己能正常打开,但是当我尝试通过菜单从内部打开解决方案时,它会变得非常卡顿。如果我在Windows资源管理器中右键单击解决方案并选择“使用VS 2013打开”,它就会打开然后卡住,以完全相同的方式。每隔一段时间,几个小时,我会收到一个通知说它正在忙于某些事情。

有人知道问题出在哪里吗?这样我就不用重新安装却无法解决问题了。


2
你尝试过移除ReSharper以查看是否存在冲突吗? - Andrew
当您使用VS2012打开时会发生什么?解决方案包含多少个项目类型/语言? - RoelF
@Roel,VS2012运行得非常完美。我总共有大约二十个WPF应用程序和类库,全部都是用C#和XAML编写的。 - ProfK
你在这方面有进展吗?我在我的工作站(办公室)遇到了类似的问题。但是在我的Core i7笔记本电脑上,同样的情况下,我的私人副本完美地运行,构建一个由主要由本机c++项目组成的大型解决方案... - Paul Michalik
我在Microsoft创建了一个问题:https://connect.microsoft.com/VisualStudio/feedback/details/924779/visual-studio-is-busy - Ricardo Peres
我遇到了相同的问题,但我没有使用ReSharper。在我的情况下,我甚至没有v12.suo文件。不知道还有什么可以做。我只是从TFS在线下载了解决方案。 - Nicolás Lope de Barrios
27个回答

244
有时候只需删除“.v12.suo”文件,再尝试打开解决方案即可。当VS2013在加载项目时出现冻结时,这个方法帮了我很多次。

19
删除.v12.suo文件对我很有效。谢谢。 - ysrb
4
尽管我已经受够了这个问题,但每当我打开一个项目时,Visual Studio还是会冻结大约3-4次。 - Alex from Jitbit
5
我也遇到同样的问题,微软的Visual Studio越来越出现Bug,令人惊讶。 - Fritjof Berggren
4
曾经帮助过我,但现在每次打开解决方案时都必须删除.v12.suo文件。显然解决方案中的某个项目或其包存在问题,但这令人沮丧。有没有人知道我该如何进行更深入的调查? - pomarc
5
删除 .suo 文件确实可以让它加载。但我不应该每次都要删除它。而且在我的一个解决方案中,我真的必须每次都要删除 .suo 文件。 - John Rocha
显示剩余10条评论

44

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

编辑:

可能的路径为:

PathToSolution\.vs\ProjectName\v14\

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

.suo是文件名。


3
路径 +1.. - Guruprasad J Rao
删除隐藏文件夹中的此文件解决了问题。 - yurart

34

基本上它可能是任何东西,但您可以尝试以下几个方法:

  1. 关掉然后再打开。
  2. 清除ReSharper缓存,它在%LOCALAPPDATA%\JetBrains\ReSharper\<CurrentVersion>\SolutionCaches,您应该会找到一个与您要打开的解决方案相匹配的文件夹。只需关闭所有VS2013实例,删除文件夹,然后再尝试一次。
  3. 关闭ReSharper:工具 > 选项 > ReSharper > 通用 > 暂停
  4. 完全卸载ReSharper并查看问题是否仍然存在。
  5. 通过程序和功能修复Visual Studio。

哈哈,已经试了几天的重启了。甚至整台机器都试过了。哇,那个解决方案缓存真的很大啊。 - ProfK
2
对我来说,按照第二步操作成功。现在使用Resharper 8.1的路径稍有不同: %LOCALAPPDATA%\JetBrains\ReSharper\v8.1\SolutionCaches - KevM
卸载并重新安装ReSharper对我来说似乎解决了问题! - Tim
3
从 ReSharper 9 版本开始,缓存文件夹的路径似乎是 %LOCALAPPDATA%\JetBrains\Transient\ReSharperPlatformVs12 - Asbjørn Ulsberg
谢谢。当我使用选项3时,解决方案正确打开,因此问题确实与ReSharper有关。在加载解决方案后再次启用它没有起作用,步骤1和2也没有成功。现在,我已经卸载了ReSharper(v7.1.*)并安装了最新版本(9.2.*)的试用版,现在一切正常工作。Visual Studio不再冻结。现在我只需要联系我的主管获取ReSharper 9许可证。 - Kevin Cruijssen
我的缓存在这里 JetBrains\Transient\ReSharperPlatformVs14\v04\SolutionCaches - Steve Greene

11

我发现以下方法是基于MS Connect指令进行VS调试的较好方法。

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

  1. 启动 Visual Studio。
  2. 启动另一个 VS 实例。
  3. 在第二个实例中,单击 "工具" -> "附加到进程..."。
  4. 在进程列表中,找到 devenv.exe。
  5. 单击“选择…”并明确选择“本机”和“托管”代码。
  6. 单击“确定”和“确定”关闭选择对话框和附加到进程对话框。
  7. 回到第一个 VS 实例并复现挂起问题。
  8. 在挂起时,控件应该转到第二个VS实例。如果没有,请手动返回到第二个VS实例,并单击“中断全部”。
  9. 在第二个实例中,单击 “调试” ->“以堆积保存迷你转储”。

如果您正在运行VB配置文件,则不会看到“另存转储为”菜单项。要添加此菜单项:

  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插件引起的,那么您可以通过以下方式报告问题:http://youtrack.jetbrains.com/issues/RSRP

那对我有用。在我的情况下,我有一个构建目标指向一个不存在的文件 - 调试让我知道发生了什么。 - Arnaud
我的.dmp文件有708 MB...为什么这么大?这正常吗? - James Wierzba
很抱歉,@JamesWierzba,我见过大型转储文件。如果您打开了resharper,它通常会使用500-800MB,因此VS可能还包括Add-in +一些项目代码详细信息以帮助他们隔离问题。如果您正在运行resharper,可以通过该产品打开内存使用情况,这是在大型项目上观察的有趣值。 - Jamie Clayton
  1. 在 VS 中打开转储文件
  2. 确保加载所需的调试符号(搜索一下)
  3. 从转储文件窗口右上角的“Action/Debug with ...”运行转储。
个人而言,我在定位问题时遇到了困难,但我同意这可能是解决问题的最佳方法。
- SteveCinq

8
我采用了暂停Resharper的方法,这对我起了作用。 进入工具 -> 选项 -> ReSharper -> 常规 -> 立即暂停。 现在你的解决方案将加载得非常快。 当你的解决方案完全加载后,你可以更改Resharper设置为立即恢复

8
你的项目中使用了任何Node.js模块吗?或者你能确认这是一个ReSharper特定的问题吗?
如果你在使用NPM模块(例如Grunt),请将你的'node_modules'文件夹标记为“隐藏”(不需要隐藏子文件夹),然后再试一次。
我也曾遇到Visual Studio打开时卡住的情况,后来发现它试图扫描深层嵌套的Node.js模块,而文件路径超过了Windows最大长度(260个字符),导致我无法在VS中打开解决方案,但将该文件夹标记为隐藏后问题得到了解决。

4

我进入了 %LOCALAPPDATA%\JetBrains\ReSharper\ 的所有目录,寻找 SolutionCaches 并清空了它们。问题得到解决。由于该应用程序相当庞大,所以这个方法非常有帮助。


这是我解决问题的方法 - 我的程序似乎会在处理程序集时卡住,每次似乎都是随机的、不同的程序集。我在该文件夹中搜索了“SolutionCaches”,并删除了每个结果的内容。现在看起来已经解决了。 - Isaac Lyman

4
最近我也遇到了这个问题,发现在加载项目时断开计算机与互联网的连接可以解决问题。通过这种方法,我成功将加载时间从几个小时缩短到几秒钟。由于我的网络电缆不是很容易接近,所以我只需在加载项目之前禁用网络适配器(在控制面板中)。
然而,这很快变得令人沮丧。最近我再次调查了这个问题。似乎在Visual Studio中登录我的Microsoft帐户最终解决了问题,现在我加载项目没有任何问题了。
如果您还没有解决这个问题,这可能对您也有用(但由于这里没有被接受的答案,我认为这个问题仍然存在),所以我建议您至少尝试断开与互联网的连接,即使您不想输入您的Microsoft凭据。

3
我遇到的问题是Perforce连接。
打开解决方案时,它会问我是否想连接到Perforce。如果允许它尝试连接,它将挂起并分配1.5GB RAM。
不允许P4连接使其正确加载(分配1GB RAM)。然后我可以告诉它在连接P4之后,现在一切正常。

3

对于我来说,无论是电脑因为停电而崩溃,还是在夜间强制重新启动时崩溃,以下方法都适用于我:

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

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


1
同样的情况:电源故障,系统崩溃,Windows 重新启动,我可以加载 sln,但是 csproj 文件中的所有设置都被忽略了。删除了 suo 和上述提到的文件夹(它非常大 :-)),目前一切似乎都正常了。 - Xan-Kun Clark-Davis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接