2009-07-20 7 views
1

SandCastleは、XSL変換中にOutOfMemoryException例外が発生してクラッシュするため、クラスライブラリを処理できません。SandCastleとOutOfMemoryException

明白な点を除いて、私たちは何ができますか?問題は、これが32ビットOS上に3.3GBのメモリを持つ開発者マシンなので、基本的には64ビット以上のメモリにアップグレードする必要があります(これはしばらくの間は行われません)。これは、多くのメモリ(これはプロダクションサーバに影響します)で行います。

私は、ヘルプファイルを必要とする世界で最大のクラスライブラリを持っていることを真剣に疑っています。私たちがオフにするのを忘れてしまったという、魔法の「メモリ不足でクラッシュしないでください」という設定がありますか?

答えて

1

32ビットWindowsの場合、ユーザープロセスはデフォルトあたり2 GBのメモリしかアドレス指定できません(3 GBは大きなアドレス認識として実行されます)。 2GBはすべてのプロセスで使用されるため、.NETランタイム、標準ライブラリ、予約などはすべて問題を抱えています。私の経験では、32ビットで.NETアプリケーションのための約1.5 GBを残します。

大容量アドレス対応スイッチを使用すると、より多くのメモリにアクセスできますが、32ビットWindowsの場合は無料ではありません。 64ビットWindowsに移行すると、32ビットアプリケーションが32ビットアドレス空間全体にアクセスできるようになり、4 GBのアドレス指定可能なスペースが得られます。

私は最近、.NETアプリケーションのメモリ使用量に関する詳細をブログに書きましたが、私はデンマーク語でブログしているので、読めないかもしれません。あなたが見てしたい場合は、リンクは次のとおりです。http://kodehoved.dk/?p=156

ます。また、関連するこのMSDNのブログの記事を見つけることができます:http://blogs.msdn.com/maoni/archive/2007/05/15/64-bit-vs-32-bit.aspx

+0

私はこれをしようとしますが、それは私と一緒に、我々の避難所を登録しませんでした私たちのコンピュータのための3GBのサポートを有効にしたので、それを調べなければなりません。問題はまだこれが一時的な修正であるかどうか(現在の問題を修正したと仮定して)です。 Will Sandcastleはそれほど多くの記憶を使っていますし、そうしないように求める方法はありませんか? –

+0

申し訳ありませんが、私は言うことができません。私の答えは、主にメモリ使用に関する一般的なアドバイスです。 –