C# .NETのバージョン違いにご用心


表題どおり

忘れないようにメモしておこう・・・

 

なぜか、dllが動かない・・・

なんでだろうと調べたていたら、ものすごく単純な理由だったわけさ。

.NET frameworkバージョン違いで不具合が起きる

簡単な話。

.NET3.5で作ったdllを
.NET4.0で動かそうとするとエラーが出る。

詳しくはこちらで解説していた。

http://d.hatena.ne.jp/tt_clown/20100923/1285234733

http://nky-tech-sdt.blogspot.jp/2010/02/net-framework-40.html

参考にさせていただきました。
ありがとございます。

 

そのまま解説をパクると、こういう事だ。

app.configにレガシー設定をする。

<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>
</configuration>

要するに

useLegacyV2RuntimeActivationPolicy=”true
を入れておけと

何だよ・・・
そんなことなら、VisualStudio側で設定できるようにしておけっての・・。

ほかにexeの場合は、ビルド時に生成される
<アプリ名>.exe.configをexeと同じディレクトリに入れておけと。

なるほどねぇ~~。
まぁ確かにランタイムやフレームワークは
バージョンによる差異があるわけだから。
よくよく考えたら当然だわな・・・。
と思いつつ。

上位バージョンは、可能な限り下位互換を持たせろよな・・・
と思う次第。

また一つ勉強になった。
以上今日のトピックでした。

それにしてもC#って楽だよなー。

Leave a comment

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください