Resharper が大きなソリューションで OutOfMemoryException をスローする
-
13-09-2019 - |
質問
IDE 構成:
Visual Studio 2008 + Resharper 4.5.1 + エージェント・スミス 1.1.8。最後にアドインを追加するための高度な構成はありません。
ソリューションの説明:
33 のクラス ライブラリ + 200 ページ以上の Web サイト。
症状:Resharper を調整して 1 時間作業すると、IDE が OutOfMemoryExection 例外をスローし始めます。通常の作業は不可能ですが、Visual Studio を再度開くことのみが役立ちます。
そんな悩みを抱えている人はいませんか?Resharper のメモリ消費量を少なくするように構成することは可能ですか?Resharper のどの機能が最も多くのメモリを消費しますか?
解決
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
また、このトピックに関する JetBrains ページも参照してください。 http://www.jetbrains.net/confluence/display/ReSharper/OutOfMemoryException%2BFix
他のヒント
のReSharperの世界へようこそ。このレッスンでは、「あなたは何を支払うを取得します」、と呼ばれています。
のReSharperの様々な特徴は、あなたの全体のソリューションの知識を必要とします。この情報は、メモリを取ります。溶液全体の解析が最もメモリ集約的であるが、それでもパブリックメソッドの署名を変更そのメソッドを呼び出すコードをすべて知る必要ができる。
あなたが時々行うことができます一つは小さく、「サブソリューション」を使用することです。あなたは、例えば、あなたのDALの層をリファクタリングしている場合は、あなただけのDALと任意のユニットテストプロジェクトを必要としています。私は時々やっていることは、ソリューションエクスプローラでソリューションを選択して、同じフォルダに別の名前で保存するとファイル - >保存ソリューションを使用することです。私は私が望むものと残されていますまで、私は、その後のプロジェクトを削除します。やるのないのあなたは(あなたが開始する前にそれらを保存)を除去しているプロジェクトを保存します。あなたが欲しいのセットを持っている場合は、ちょうどすべて保存を行います。
それは迷惑のあまりになると、あなたはまた、ステータスバーにメモリ使用量を表示するには、ReSharperのを得ることができます。その機能は、の長いの時間のために利用されています。
私はReSharperの以前のバージョン(および他の類似のアドイン)と大きなソリューションで、過去にこれと同様の問題を見て、私は彼らから離れて滞在しようとする理由の一つですしています。私の知っている唯一の解決策は、Visual Studioの再起動をReSharperのをアンインストールするか、それはあなたが本当にそれを使用する必要がある場合を除き、オフに維持することであった。
何が価値があるのは、Visual Studio 2010には、この種の問題を支援すべきであるためます。