1

ここで LARGEADDRESSAWARE フラグを設定する方法を読みましたが、これは Windows サービスに対して行われます。ただし、この Windows サービスは別のプロジェクトに基づいて WCF サービスをホストしており、このサービスは他のプロジェクトのライブラリなどを使用しています。

アプリケーション全体で LARGEADDRESSAWARE を使用する必要があります。ウィンドウ サービス プロジェクト (ServiceBase) に設定するだけで十分ですか? または、すべてのプロジェクトで設定する必要がありますか?

現時点では 64 ビットに切り替えることができないため、これを行う必要があります。

4

1 に答える 1

1

これは IDE によって公開されるオプションではありません。ビルド後のイベントで editbin.exe を実行することによって有効にします。 この回答は、使用する必要があるコマンドを示しています。

ただし、これにエネルギーを浪費している可能性が高いことに注意してください。オペレーティングシステムが提供できる場合にのみ効果があります「大きなアドレス」をサポートする実行環境。これは、何年も前に /3GB ブート オプションで可能でしたが、しばらく前に役に立たなくなりました。サーバーにも非常に有害であり、カーネルアドレス空間が本当に必要です。サーバーが 64 ビット バージョンの Windows を起動する場合にも役立ちます。/LARGEADDRESSAWARE でリンクされている場合、32 ビット コードは 4 GB のアドレス空間を取得できます。しかし、そのようなオペレーティング システムを使用している場合、プロジェクトのターゲット プラットフォームを AnyCPU に変更することは、64 ビット プロセスで得られるはるかに大きなアドレス空間を利用するためのより生産的な方法であることは間違いありません。たぶんそれはあなたの特定のケースには当てはまらないかもしれませんが、それ以外の場合は最善の一般的なアドバイスです.

于 2013-06-12T11:38:13.370 に答える