.NET Frameworkの互換性の状況

過去のブログのアーカイブ
この記事は前身のブログのアーカイブを引き継いだものです. 画像が正しく表示できないなど,コンテンツの表示に問題がある恐れがあります.

Windows Server 2012 R2をインストールしたら.NET Frameworkの選択肢が3.5と4.5になって正直びっくり。4.0はどこ行ったのか。3.0とかどうなるのか。
調べてみたら案外複雑な感じになっていたのでまとめてみます。

.NET Framework 4.5は4.0も完全に含む

4.5は4.0の機能を完全に含んでいるので、4.5をインストールすれば4.0のアプリケーションも完全に動作するみたいです。さらに、4.5をインストールするとp4.0は自動的にアンインストールされるみたいです。
なおIISとかで.NET FWを登録する際に使われるバージョンはV4.0.30319となっています。

.NET Framework 3.5は3.0以下を含む

IC556828
.NET FW 3.5では3.0の機能を完全に含みます。つまり3.0や2.0の機能を使いたければ3.5をインストールするだけで事足ります。
当然ですが、3.5では4.0の機能は使えません。別途使う必要があります。

ここまではいいのだが…

ここまでは別に悩む点はないのですが、実は少し落とし穴があります。
それは4.5をインストールすれば4.0は完全に動作するけど、3.5以下も動作する保証がないということです。つまり、3.5を動作することあるというだけで、別に完全動作するとは言われていない。少し厄介ですね
つまり動作できるパソコンの幅を広げるために2.0でビルドし、「最新バージョンの.NET FWを入れてください」と投げることはできないのです。
ちなみにXPでは.NET FW 4.5はインストールできません。互換性の問題もあるんでしょうけど、なので再配布で4.5をいれるのは少しまずいかもしれません。

まとめ

もし、2.0でビルドするならば、確実に動作するように3.5のインストールを誘導するよう、おすすめします。
また、4.5はXPで動作しないのでまだ移行してしまうのは早いかもしれません。
一番バランスとれているのは4.0でしょう。2000なんてユーザー、もうさすがに少ないでしょうしそんなユーザーがアクティブにソフトをインストールしまくるとも思えませんし。