2

私はIIS(Windows Server 2012 x64)プロジェクトを導入しようとしています。このプロジェクトには、32ビットと64ビットの両方であるC++の1つのプロジェクトを持つ1つのASP.NETWebアプリケーションx64があります。C++プロジェクトDLLの32ビットと64ビットの両方を置き換えようとしました。また、多くの構成を試しました。VisualStudioで「32ビットを優先」のオンとオフを切り替え、AnyCPU(すべてのプロジェクト)を64ビットに変更し、IISで「32ビットアプリケーションを有効にする」のオンとオフを切り替えます。問題は、IISがC ++プロジェクトDLL(同じフォルダーにあるはずです)を認識しないか、形式が正しくないためにロードできないことです。ソリューション全体を64ビットで実行し、最終的には32ビットのC ++プロジェクトを実行したいので、すべてを32ビットに変更するのは適切なソリューションではありません。アプリケーションを実行するためにIISにすべてを配置する方法はありますか?

4

1 に答える 1

1

プラットフォームを同じビット数に合わせる必要があります。つまり、次のいずれかです。

  1. Web アプリケーションと C++ 参照プロジェクトの両方を 32 ビットにコンパイルし、IIS アプリケーション プールに対して [ 32 ビット アプリケーションを有効にする] を設定します。True
  2. Web アプリケーションと C++ 参照プロジェクトの両方を 64 ビットにコンパイルし、IIS アプリケーション プールに対して [ 32 ビット アプリケーションを有効にする] を設定します。False

C++ プロジェクトに、64 ビット バージョンを持たない 32 ビット DLL への他の依存関係がある場合、それは問題になります。この場合、すべてを 32 ビットに揃える以外に選択肢はありません。

于 2013-02-07T10:02:22.157 に答える