Visual Studio2005→2010へC#のプログラムを移行して動作確認したら

出ました例外エラー↓

「混合モード アセンブリはバージョン v2.0.50727 のランタイムに対して作成されており、追加の構成情報がないと 4.0 ランタイムでは読み込めません。」



原因は、Framework2.0で作られたDLLのようだ。




OPEN CVなんかでも

2010で開発しようとすると

このエラーが出るらしい。



上位互換じゃないってことですかね。




とりあえず回避方法。

・Framework2.0で作られたDLLを使わない

・オブジェクトブラウザから使用するFrameworkのバージョンを落とす

・App.configを以下のように設定する(無ければ追加する)

<?xml version='1.0' encoding='utf-8'?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
</configuration>


ちなみにVB.netも同じエラーが発生します。(そりゃそうだ)

回避方法は基本的に同じ。



オブジェクトブラウザからの設定方法が

分かりづらかったので

以下メモ書き。


オブジェクトブラウザ→コンパイル→詳細コンパイルオプションから設定





参考

http://msdn.microsoft.com/ja-jp/library/bbx34a2h.aspx