プロプログラマ -Flex,Air,C#,Oracle,PHP-

プログラマーを職業としてます。 Flex,Air,C#,Oracle,PHPの言語ノウハウを中心に情報発信していきます

[C#] 古いライブラリを動かした時にランタイムなんたらのエラーになる時

C#でちょっと前の追加ライブラリなどを入れて実行した時、以下の様なメッセージが表示されて、実行時エラーになることがあります。(コンパイル時には気づきません)

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

相変わらず意味不明なエラーですが、新しいバージョンのランタイムでは、古いのは動きませんといったような意味です。

この場合は、app.configに互換モードで動かす旨の記述を追加する必要があります。

  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
  </startup>

分かってるんだから勝手に追加してくれよと思いますが、ここはおせっかいしてくれないみたいです。

なお、この設定は、プロジェクトのプロパティを開いた時など、勝手に更新されてしまう場合があり、その時に手動で追加した記述は消えてしまう場合があるので注意してください。

 

== ランキングに参加しています。ぜひクリックお願いします ==

プログラム ブログランキングへ
にほんブログ村 IT技術ブログへ
にほんブログ村

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です