Visual Studio 2010でC#言語で記述されたWindowsフォームプロジェクトがあります。x86プロセッサとx64プロセッサの両方でexeを実行する必要があります。両方のプロセッサタイプ用にコンパイルするように構成を変更するたびに。x86とx64の両方のプロセッサタイプのソースコードを一度にコンパイルするための変更はありますか?
3 に答える
構成を選択する必要がAnyCPU
あります。OSが32ビットの場合は32ビットで、OSが64ビットの場合は64ビットでアプリが実行されます。コードをホスティング環境に必要な適切なビット数にJIT
変換するコンパイラに感謝する必要があります。MSIL
ただし、同じモードでコンパイルされていないドライバーやその他のライブラリを使用すると、展開に問題が発生する可能性があることに注意してください。両方のライブラリ(64/32)が必要であり、宛先マシンに適切なライブラリをインストール/展開する必要があります。ACE/Jet OleDB
(プロバイダーとの最初の混乱を思い浮かびます)
どこかでネイティブコードを使用している場合を除いて、これを行う必要はありません。すべてがCIL/MSILにコンパイルされます。これは、アーキテクチャ/プラットフォームに依存しません。
上記および最近のコメントに記載されているように、「任意のCPU」オプションを使用してください。
AnyCPU構成を使用できます。ただし、ネイティブコードライブラリ(C、C ++、Delphiなど)を呼び出さない限り、x86アセンブリとx64アセンブリの両方が両方のタイプのプロセッサで動作するはずです。つまり、x86CPUおよびオペレーティングシステムでx64.NETアセンブリを使用できます。
詳細については、プラットフォームターゲティングに関するこの(または同様の)記事をお読みください。