Resharper在大解决方案上抛出OutOfMemoryException

kla*_*har 4 c# resharper out-of-memory visual-studio

IDE配置:

Visual Studio 2008 + Resharper 4.5.1 + Agent Smith 1.1.8.最后一个加载项没有任何复杂的配置.

方案说明:

33个类库+ 200多页的网站.

症状:在Resharper上调整一小时后,IDE开始抛出OutOfMemoryExection异常.正常工作是不可能的,只有重新打开Visual Studio才能提供帮助.

有没有人有这样的问题?是否可以配置Resharper以减少内存消耗?什么Resharper功能消耗最多的内存?

Joh*_*ers 8

欢迎来到ReSharper世界.本课程称为"你得到你付出的代价".

ReSharper的各种功能确实需要您了解整个解决方案.这些信息需要记忆.解决方案范围的分析可能是内存最密集的,但即使更改公共方法的签名,也需要知道调用该方法的所有代码.

有时您可以做的一件事是使用较小的"子解决方案".例如,如果要重构DAL层,则只需要DAL和任何单元测试项目.我有时会在解决方案资源管理器中选择解决方案,并使用文件 - >保存解决方案为在同一文件夹中使用不同的名称保存它.然后我删除项目,直到我离开我想要的那些.难道救你要移除项目(保存在你开始之前).获得所需的设置后,只需执行全部保存即可.

如果它变得太烦人,你也可以让ReSharper在状态栏中显示内存使用情况.该功能已经可以使用长时间了.


Rog*_*mbe 6

如果您使用的是64位Windows(或者您很乐意使用/ 3GB开关运行32位Windows),那么您可以将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
Run Code Online (Sandbox Code Playgroud)

另外,请参阅JetBrains页面上的主题:http://www.jetbrains.net/confluence/display/ReSharper/OutOfMemoryException%2BFix