2008年から2010年に私のVisual Studioソリューションを変換しました。プロジェクトにはShDocVwへの参照があります。プログラムを実行するとBadImageFormatExceptionが発生します。グーグルはcorflagsと相互運用ライブラリを確認するために私を導い:VSアップグレード後のinteropライブラリのcorflagsの問題
corflags Interop.ShDocVw.dll
Version : v2.0.50727
CLR Header: 2.5
PE : PE32
CorFlags : 3
ILONLY : 1
32BIT : 1
Signed : 0
案の定、32BITフラグがとても64ビットマシン上の任意のCPUとして構築された私のアプリケーションは、このライブラリをロードすることはできません設定されています。私がcorflags/32BITを実行すると、私は32BITフラグをオフにすることができ、すべて正常に機能します。問題は、このInteropライブラリがそのフラグを設定して生成される理由は何ですか?私はVS2008でこの問題を抱えていませんでしたが、これはアップグレード後に始まったばかりです。
さらに重要なことは、ビットをオフにするためにcorflagsを実行する必要がないように修正するにはどうすればよいですか?私はそれがおそらく私が非常によく理解していないいくつかのMSBuild-fuによると仮定します。とにかく何も見つけられませんでした。