連載
» 2015年10月08日 05時00分 UPDATE

Tech TIPS:.NET Frameworkのバージョンを整理する (1/2)

.NETアプリケーションを利用するには、.NET Frameworkランタイムをインストールしておく必要がある。しかし.NET Frameworkには複数のバージョンがあり、対象の.NETアプリケーションに応じて適切なバージョンを選ばなければならない。そこで、各バージョンの特性や相互の関係などを整理して解説する。

[島田広道,デジタルアドバンテージ]
「Tech TIPS」のインデックス

連載目次

対象ソフトウェア:Windows 2000/Windows XP/Windows Vista/Windows 7/Windows 8/Windows 8.1/Windows 10/Windows Server 2003/Windows Server 2008/Windows Server 2008 R2/Windows Server 2012/Windows Server 2012 R2、.NET Framework 1.0/1.1/2.0/3.0/3.5/4/4.5/4.5.1/4.5.2/4.6


 .NET Framework対応アプリケーション(.NETアプリケーション)を利用するには、対象コンピューターに.NET Frameworkランタイム(以下、単に.NET Framework)を展開(インストール)する必要がある。

 この展開作業における厄介な問題の一つは、.NET Frameworkに何種類ものバージョンがあって混乱しやすいことだ。展開する.NETアプリケーションに合わせて適切なバージョンの.NET Frameworkを選ばなければならない。そのため、インストール可能な対象OSや最新Service Packのレベルなど、展開時の注意点も.NET Frameworkのバージョンごとに把握しておく必要がある。

 そこで本稿では、展開上の注意点に焦点を当てて、.NET Frameworkのバージョンごとの特性などを整理して解説する。インストール済みの.NET Frameworkのバージョンを確認する具体的な方法については、関連記事を参照していただきたい。

■ページ内目次

.NET Frameworkの各バージョン同士の関係

 2015年10月時点でリリース済みの.NET Frameworkには、Ver.1.0/1.1/2.0/3.0/3.5/4/4.5/4.5.1/4.5.2/4.6というバージョンがある。ただし、Ver.1.0/1.1のサポートはすでに終了している。また2016年1月にはVer.4/4.5/4.5.1のサポートも終了する(詳細は右上の関連記事を参照)。

.NET Frameworkの各バージョンの関係 .NET Frameworkの各バージョンの関係
水平に並ぶ4つのグループはお互いに独立していて、一つのシステムに複数のバージョンをインストールして同時に利用できる。逆に言えば、上位バージョンをインストールしても下位バージョンをインストールしたことにはならない。Ver.2.0/3.0/3.5は内包関係にあるが、Ver.4/4.5.x/4.6は置き換えなので共存できない。原則として、個々の.NET対応アプリケーションが必要とするバージョンの.NET Frameworkをそれぞれインストールすることになる。

 上図を基に、.NET Frameworkの各バージョン同士の関係や特性を説明する。

●一つのシステムに複数のバージョンの.NET Frameworkが共存可能

 上図で4つに分類されている各グループ、すなわちVer.1.0とVer.1.1、Ver.2.0/3.0/3.5、Ver.4/4.5.x/4.6は、お互いに独立していて、一つのシステム内に共存できる。例えば、Ver.3.5をインストール済みのシステムにVer.4(あるいはVer.4.5.x/4.6)をインストールし、それぞれに対応する.NETアプリケーションを実行することが可能だ。

 逆に言えば、あるグループ内の.NET Frameworkをインストールしても、別のグループ内のバージョンをインストールしたことにはならない、ということでもある。例えば、Ver.4をインストールしてもVer.2.0〜3.5はインストールされない。

●各アプリケーションが求めるバージョンの.NET Frameworkがそれぞれ必要!?

 一方、上図のグループ間では、上位バージョンの.NET Frameworkと下位バージョンの.NET Frameworkとの互換性は完全ではない。例えば、Ver.4のランタイム上で、Ver.1.0あるいはVer.1.1、Ver.2.0に対応する各.NETアプリケーションを実行できるとは限らない。

 .NETアプリケーションでは通常、実行可能な.NET Frameworkのバージョンが開発時に決められている。そのため、対応バージョンの.NET Frameworkが未インストールだと、そのアプリケーションは実行できない。

 付属の設定ファイル(*.configファイル)を修正すれば、別バージョンの.NET Framework上でも実行できる可能性があるが、そもそも、こうした実行方法は当該アプリケーションの開発元が動作を保証してくれないこともあるだろう。

 結局、利用したい複数の.NETアプリケーションに明記されている対応バージョンが上図のグループ間をまたぐ場合、各バージョンの.NET Frameworkをそれぞれインストールするのが現実的といえる。

●Ver.2.0/3.0/3.5は前バージョンにも対応

 上図のVer.2.0〜3.5のグループ内では、各バージョンは一つ前のバージョンを内包する関係にある。Ver.3.0/3.5の構成は、大ざっぱには以下のように表せる(WPFやWCF、LINQについては、右上の関連記事を参照)。

  • Ver.3.0: Ver.2.0にVer.3.0の新機能(WPFやWCFなど)を加えたもの
  • Ver.3.5: Ver.3.0にVer.3.5の新機能(LINQなど)を加えたもの

 実際、Ver.3.0をインストールすると自動的にVer.2.0もインストールされるし、Ver.3.5をインストールするとVer.2.0/3.0がインストールされる。そのため、これらのバージョンに対応する.NETアプリケーションを利用するには、以下のように.NET Frameworkのいずれかのバージョンがインストール済みであればよい。

  • Ver.2.0対応の.NETアプリケーション: .NET Framework 2.0/3.0/3.5のいずれか
  • Ver.3.0対応の.NETアプリケーション: .NET Framework 3.0/3.5のいずれか
  • Ver.3.5対応の.NETアプリケーション: .NET Framework 3.5

●Ver.4/4.5.x/4.6は共存できない

 一方Ver.4.x系列の場合、下位バージョンは上位バージョンによって置き換えられる。例えばVer.4がインストール済みのシステムにVer.4.5.2をインストールすると、Ver.4のコンポーネントがVer.4.5.2によって置き換えられる。Ver.4.5→Ver.4.5.1、Ver.4.5.2→Ver.4.6の場合も同様だ。

 つまり、Ver.4.x系列内では下位バージョンと上位バージョンは共存できない。

 もっとも、基本的にVer.4.x系列では上位互換性が保たれている。例えば、Ver.4対応の.NETアプリケーションはほとんどの場合、プログラムコードの変更なしでVer.4.5.x/4.6上でも実行できるとのことだ。

 それでも上記のドキュメントによれば、少ないながら、アプリケーションが利用している機能によってはコード変更が必要な場合もあるようだ。Ver.4対応の.NETアプリケーションをVer.4.5.x/4.6上で実行したければ、一応アプリケーション開発元にVer.4.5.x/4.6での動作を確認した方が無難だろう。

 なおVer.4には、次の2種類のインストール形態がある。

  • クライアントプロファイル(Client Profile)版:
    クライアントPC向けでASP.NETなどが省かれている
  • フル(Full)版:
    全機能を搭載している(フル版はクライアントプロファイル版を含んでいる)

 この2つはインストール時にどちらかを選択できる。しかし、Ver.4.5以降ではクライアントプロファイル版は廃止され、フル版だけが提供されている。

各Windows OSで利用できる.NET Frameworkのバージョンを知る

 一つのシステム内で複数のバージョンの.NET Frameworkが共存できるといっても、Windows OSによって共存できない組み合わせもある。Windows OSによって、インストールできないバージョンの.NET Frameworkがあるからだ。ただし、そうした組み合わせは以前より減ってきている。

■クライアントWindows OS

クライアントWindows OSにインストール可能な.NET Frameworkのバージョン

■Windows Server

Windows Serverにインストール可能な.NET Frameworkのバージョン 各Windows OSにインストール可能な.NET Frameworkのバージョン
「プレインストール」は各Windows OSのデフォルト設定でインストールされるかどうかを表している。そのため設定次第では、「プレインストール」のものがインストールされていなかったり、「インストール可能」の範囲内で別のバージョンの.NET Frameworkがプレインストールされていたりすることもある。また打ち消し線は、すでにサポートが終了していることを表している。
*1 Tablet PC/Media Centerエディションには、Ver.1.0がプレインストールされていた
*2 Ver.1.1はインストールできる場合もあるが、マイクロソフトはサポートしていない
*3 Ver.4.x系列は上位のVer.4.xによって置き換えられるため、これらのWindows OSには該当バージョンの.NET Frameworkをインストールできない。ただし、Ver.4.x系列に対応する.NETアプリケーションは一部の例外を除いて上位のVer.4.x上で実行できる

 むしろ注意すべきは、Windows OS側のService Packレベルだ。上図で「インストール可能」となっていても、Windows OSに最新のService Packが未適用だと、そのバージョンの.NET Frameworkがインストールできないことがあるからだ。

 例えばWindows Vistaの場合、Service Pack 2が未適用だと.NET Framework 4.5.xがインストールできない。

 基本的には、サポートライフサイクルに含まれるOSのService Packを適用しておけばよい。

       1|2 次のページへ

Copyright© 1999-2016 Digital Advantage Corp. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

編集部からのお知らせ

@IT編集部では、編集記者を募集しています。ご興味のある方は奮ってご応募ください。

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。