ReSharper的抛出OutOfMemoryException异常的大解决方案(Resharper

2019-09-23 11:24发布

IDE配置:

Visual Studio 2008的+ ReSharper的4.5.1 + 代理史密斯1.1.8 。 没有去年的加载项的任何复杂的配置。

方案说明:

33个类库+网站有200多个页面。

症状:在调整上ReSharper的一个小时的工作后,IDE开始扔OutOfMemoryExection例外。 正常的工作是不可能的只有重新打开Visual Studio可以提供帮助。

是否有人有这样的问题? 是否有可能配置ReSharper的消耗更少的内存? 什么ReSharper的功能不会消耗最多的记忆是什么?

Answer 1:

如果你在64位的Windows(或你快乐运行32位Windows和/ 3GB开关),那么你可以配置的Visual Studio为/ LARGEADDRESSAWARE,其中,而不是2GB,会给它4GB(或3GB上/ 3GB)的地址空间一起玩。

见,例如, http://old.stevenharman.net/blog/archive/2008/04/29/hacking-visual-studio-to-use-more-than-2gigabytes-of-memory.aspx ,这给以下:

editbin /LARGEADDRESSAWARE devenv.exe

此外,请参见专题JetBrains的页面: http://www.jetbrains.net/confluence/display/ReSharper/OutOfMemoryException%2BFix



Answer 2:

欢迎ReSharper的世界。 这个教训是所谓的,“你得到你所支付的”。

ReSharper的的各种功能都需要您的整个解决方案的知识。 这些信息需要存储。 该解决方案范围的分析可能是最内存密集型的,但即使改变一个公共方法的签名要求知道所有调用该方法的代码。

有一件事你有时可以做的是使用更小的,“子解决方案。” 如果您正在重构比如你的DAL层,你只需要在DAL和任何单元测试项目。 我有时做的是选择在解决方案资源管理解决方案,并使用文件 - >另存解决方案作为它用不同的名称保存在同一文件夹中。 然后我删除的项目,直到我留下的那些我想要的。 不要保存您要移除项目(保存在你开始之前)。 当你得到了你想要的设置,只是做一个全部保存。

如果它变得太烦人,你还可以得到ReSharper的显示在状态栏上的内存使用情况。 该功能已经可以很长一段时间。



Answer 3:

我看到这一点,类似的问题在早期版本的ReSharper的(以及其他类似的加载项)和大的解决方案了过去,是我试图远离他们的原因之一。 我所知道的唯一的解决办法是重新启动Visual Studio中,卸载ReSharper的,或保持关闭,除了当你真正需要使用它。

对于它的价值时,Visual Studio 2010将帮助这些类型的问题。



文章来源: Resharper throws OutOfMemoryException on big solution