意外に実験したことが無く、結構即答で答えられない質問だったのでしらべてみました。 64bit用に対象アーキテクチャをx64としてビルドされた.NETのアプリケーションから、32bit用、即ちx86用としてビルドされたアセンブリを参照して実際に動かせるのか?という実験。 サンプルプログラム 以下の構成で簡単なサンプルをVisual Studio 2010のVB.NETで作成しました。 親EXEを作成。フォーム1つ、DLLから文字列をもらってラベルに表示。 文字列をPublic Sharedで公開しているだけのDLL。 上記DLLはプロジェクト参照でEXEプロジェクトから参照される。 このプログラムで、EXEとDLLそれぞれの「ターゲットCPU」を切り替えて動作を見てみます。 結果 こんな感じ。 呼び出し側(EXE側) 呼ばれる側(DLL) ビルド 64bit OSでの動作 x86 x86 成