代码之家  ›  专栏  ›  技术社区  ›  klashar

Resharper在大解决方案上抛出了内存异常

  •  4
  • klashar  · 技术社区  · 16 年前

    IDE配置:

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

    解决方案说明:

    33个类库+网站,200多页。

    症状:在调优的Resharper下工作一小时后,IDE开始抛出OutofMemoryExecution异常。正常工作是不可能的,只有重新打开Visual Studio才能有所帮助。

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

    3 回复  |  直到 13 年前
        1
  •  6
  •   Roger Lipscombe    13 年前

    如果您使用的是64位Windows(或者您很乐意使用/3GB开关运行32位Windows),那么您可以将Visual Studio配置为/largeAddressware,而不是2GB,它将为其提供4GB(或3GB/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

        2
  •  8
  •   John Saunders    16 年前

    欢迎来到Resharper世界。这一课叫做“你得到你所付出的”。

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

    有时你可以做的一件事是使用更小的“子解决方案”。例如,如果要重构DAL层,则只需要DAL和任何单元测试项目。我有时会在解决方案资源管理器中选择解决方案,然后使用“文件”->将解决方案另存为在同一文件夹中以其他名称保存它。然后我移除项目,直到我得到我想要的项目。做 保存要删除的项目(开始前保存)。当你有了你想要的布景,就把所有的都保存下来。

    如果它变得太烦人了,您还可以让Resharper在状态栏中显示内存使用情况。该功能可用于 长的 时间。

        3
  •  0
  •   Scott Dorman    16 年前

    我在过去的Resharper(和其他类似的插件)的早期版本和大型解决方案中看到过这种和类似的问题,这也是我努力避开它们的原因之一。我知道的唯一解决方案是重新启动Visual Studio、卸载Resharper或保持其关闭状态,除非您确实需要使用它。

    就其价值而言,Visual Studio 2010应该有助于解决这些类型的问题。

    推荐文章