2

DLLを「任意のCPU」にコンパイルして、x86とx64の両方で実行できるようにしましたが、デバッグモード(x64)で実行しようとすると、プロジェクトの実行中にエラーが表示され続けます:ファイルまたはアセンブリを読み込めませんでした' Project'またはその依存関係の1つ。間違った形式のプログラムを読み込もうとしました。

ただし、Debugディレクトリから作成した* .exeを実行するか、デバッグせずにVisual Studioで実行すると、正常に実行されます。x86デバッグモードで実行した場合も機能します。Visual Studioのデバッグモード以外のすべてで機能するのはなぜですか?

アプリケーションはデスクトップアプリケーションであるため、32ビットに変更するIISアプリケーションプールはありません。

4

2 に答える 2

0

「プロジェクト」dll の PE 情報を取得するには、corflags.exeを使用します。x64としてビルドされている場合はPE:PE32+、と言う必要があります。32Bit:0「プロジェクト」の呼び出し元がプロジェクトを参照しており、他のビルド ディレクトリにある不正な dll ではないことを確認してください。

  • 最初に参照を確認してください
  • その参照を確認するには、corflags を使用します。
  • 調査結果を報告する
于 2013-02-07T16:28:11.733 に答える
0

構成を変更しても、すべてのプロジェクトが変更されないことがあります。x64 構成で [ビルド] > [構成マネージャー] に移動すると、すべてのプロジェクトが x64 バージョンをビルドするように設定されていますか?

于 2013-02-07T15:51:34.773 に答える