1

32ビットプラットフォームサーバーの64ビットプラットフォームでアセンブリをコンパイルするには、どのオプションを選択する必要がありますか。現在、32ビットサーバーに公開しようとしています。Windows VistaマシンでVS2005を使用してプロジェクトをビルドし、サーバーで公開していますが、エラーが発生します。どうすればこの問題を解決できますか。

64ビットマシンでAnyCPUオプションを使用するか、混合プラットフォームオプションを使用する必要があります。また、x86のオプションが無効になっていて、その理由がわかりません。

4

2 に答える 2

2

AnyCPUを使用します。アセンブリに直接の管理されていない依存関係または特定のCPU用にマークされたアセンブリへの依存関係がない限り、アセンブリは64ビットまたは32ビットで正常に動作します。

于 2009-06-16T08:57:13.367 に答える
1

管理言語で作業していると仮定すると、生成されたILは、実行時にコードがJITされるまでマシン命令に変換されないため、「AnyCPU」へのコンパイルはクロスプラットフォーム(64/32ビット)である必要があります。

ポインタのサイズなどに依存する特定の構造を使用する場合にビットネスの依存関係を取得できる例外はほとんどありませんが、FxCopを実行しても問題はありませんが、これらは通常、コードには表示されません。確認するコード(FxCopには、これらの問題をカバーする移植性を扱うセクションがあります)

于 2009-06-16T08:58:54.050 に答える