x64環境でのOpenCvSharp

 最近研究室のPCが64bit版のWindows Vistaになったのですが、それからというものOpenCvSharpを呼び出している研究のプログラムがBadImageFormatExceptionを吐いて全く動かなくなってしまいました。

 あれ?.NETってそういう環境の違いうまく吸収してくれるんじゃないの?と思っていましたが、それはどうやらC#で作った場合での話で、C++/CLIで作ったDLLにはネイティブコードが含まれるとかなんとかでダメなようです。


 解決法は2つ。

C++/CLI側で、x64でビルドする
一番まともな感じです。が、なんかうまくできなかった。
C#側のビルドの設定で、「Any CPU」を「x86」にする
つまりどちらも32bitに合わせるということです。


 余力があればx64版もリリースするかもしれませんが、OpenCV自体もx64版があるという訳でもないため(多分)、当面下の方法で乗り切ることとします。