複数の.NET Framework のバージョンでアプリケーションを作成する方法
2016/1/20
文書番号:20447
.NET アプリケーションを作成する際、.NET Framework のバージョンを決めて作成します。
「このアプリケーションを使用するにはこのバージョンの .NET Framework をインストールしてください」
と、言えればそれで済むことですが、そうでない場合もあります。
「アプリケーションに合わせて .NET Framework をインストールするのではなく、インストールされている .NET Framework に合わせたアプリケーションを準備する。」
という具合です。
.NET Framework は 2.0 で作成しておくと、2.0でも3.0でも3.5でも動作しますが、4.0以降しかインストールされていない環境では動作しません。
逆に4.0以降でアプリケーションを作成すると2.0や3.0がインストールされているだけでは動作しません。
大規模な業務システムなどでは複数バージョンで作成することはないと思いますがツールのようなものの場合はあると思います。
当サイトで配賦している 「Auto Windows Update」 がそうです。
新規コンピューターをセットアップする時に大量の Windows Update のインストールを自動化したいのですが、このソフトを動作させるために Windows Update から .NET Framework の指定バージョンを ダウンロードしてインストールしないといけないのではなんだかおかしい気がします。
ということで、「Auto Windows Update」は機能は同じですが .NET Framework の各バージョンで動作するアプリケーションを作成しています。
しかし、機能が同じものをいくつも作成し、修正や機能追加をすべてに適用していくのは非常に大変です。
そこでソースはひとつでありながら各バージョンのアプリケーションを簡単に作る方法です。
前置きが長くなりましたが実際の手順です。
【対応方法】
上記の方法で作成する場合、ソースコードはすべての .NET Framework バージョンで有効な文法にする必要があります。
例えば、.NET Framework 4.0 からの新機能を利用すると 2.0 側のビルドでエラーになります。
プロジェクトのプロパティで .NET Framework のバージョンを切り替えながらビルドしても同じようにできますが、かなり手間でした。
複数のバージョンの .NET Framework 用にそれぞれアプリケーションを作成する際にどうぞ。