マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

.NET Framework のバージョン

新機能

以下のページで.NET Frameworkの各バージョンの主な新機能や強化された機能の概要が説明されている。

同居の可否

.NET Framework バージョンとコンポーネント

.NET Framework のバージョンとサポート

.NET Framework の サポート ライフサイクル ポリシー

基本的に親のオペレーティング システムの
サポート ライフサイクル ポリシーに従うようになっている。

サポートポリシーの変更

2016年1月12日以降サポート対象となるバージョンが大幅に減少

.NET Coreの場合

.NET Frameworkの場合

.NETの場合、

に該当します。

に、複数バージョンのランタイムをロードできないので(注1)、
アプリケーションはどれか1つのバージョンのランタイム上で動かす必要があります。
このため、例えば、.NET Framework 1.1をターゲットとしたクラス ライブラリ(DLL)を
.NET Framework 2.0のWindowsアプリケーション(EXE)から呼び出した場合、
当該DLLは、.NET Framework 2.0上で動作します。
このため、この点については環境移行として考えることができます。

つまり、旧バージョンの .NET Framework でビルドしたアプリケーションとコンポーネントは、.NET Framework 4.5 で動作します。
ただし、現実的には、この互換性は、.NET Framework のわずかな変更やプログラミング技法の変化によって損なわれている可能性があります。

・・・ とのことですが、これは、COMアドインに限定されるようです(参考2)。

異なるランタイム(アプリケーション・ドメイン)でグローバル変数などの共有ができるとは
考えにくいので、すべてがCOMインターフェイス経由でブリッジされる場合に限定されるようです。

.NET Framework 1.1 → 2.0、3.0、3.5

ランタイムのバージョンアップ

既に説明しましたが、.NET Frameworkランタイムのバージョンアップは、環境移行に該当します。

開発環境のバージョンアップ

.NET Frameworkのバージョンアップに伴い一部犠牲となった後方互換の問題を完全に解決するには、

必要があります。

こちらの作業は、手修正無しのコンバージョン移行に該当し、変換後、必要に応じて

などの修正を施します 。

この変換ツールは、ソリューション / プロジェクト ファイルやconfigファイル、一部のソースコードを変換しますが、
VS 2005、2008(.NET Framework 2.0 ~ 3.5)でサポートされた新機能を使用するようには変換されません。
このため、例えば、以下の新機能を使用する場合、コードを手修正する必要があります。

製品サポート状況の確認

3rdパーティ製品が、.NET Frameworkの最新バージョンをサポートしていない場合があるので注意が必要です。

また、.NET Framework ランタイムや開発環境のバージョンアップに伴い、 使用する3rdパーティ製ライブラリの当該環境上でのサポートが無くなる場合、
代替ライブラリのI/F変更発生に起因する修正範囲拡大の可能性があります ので、その場合の移行作業は手修正有りのコンバージョン移行に近づきます。

.NET Framework 2.0 → 3.0、3.5

.NET Framework 2.0、3.0、3.5 → 4

.NET Framework 4 以降

.NET Framework 4 → 4.5

.NET Framework 4.5 → 4.5.1 → 4.5.2

と言う手順になります。

(2)、(3)は後方互換性が高いので殆ど修正作業が発生しないと思います。
ただ、テストがどれだけ必要か?見積もるか?はポイントになると思います。

.NET Framework 4.5 → 4.6

.NET Framework 4.6 → 4.6.1 → 4.6.2

.NET Framework 4.6 → 4.7

.NET Framework 4.7 → 4.7.2 → 4.7.2

.NET Framework 4.7 → 4.8

.NET Framework 4.8 → 4.8.x → 4.8.y

.NET 5 以降

.NET 5 ≒ .NET Core系への移行

ASP.NETの場合

ランタイムのバージョンアップ

プロジェクト ファイルやconfigファイルの変更などが必要になるため、
新しい開発環境に付属の変換ツールを使用して変換します(環境移行ではない)。

開発環境のバージョンアップ

ASP.NET 2.0

ASP.NETの場合は、ASP.NET 1.1からASP.NET 2.0への移行になります。
上記の「.NET Framework 1.1 → 2.0 ~ 3.5」より少々複雑になります。

上記の「.NET Framework 1.1 → 2.0 ~ 3.5」と同様に、
VS 2003プロジェクトをVS 2005、2008に付属の変換ツールで変換して、
ASP.NET 2.0をターゲットとしたWebアプリケーションとして再構成する必要があります。
こちらの作業は、手修正無しのコンバージョン移行に該当します。

また、特に大きな変更として、ASP.NET 2.0では、デフォルトのHTMLレンダリングが、
HTML 4.01(ASP.NET 1.1) → XHTML(ASP.NET 2.0)と変更されます。
上記の変換ツールを使用した場合、configファイルのxhtmlConformanceタグの
mode属性にLegacyが設定され、HTML4.01でレンダリングされます。

レンダリングをHTML4.01からXHTMLに変更する場合は、

直接出力に問題があれば修正が必要になります
(Web コントロールを使用していれば、自動的に指定のDTDに対応したHTMLが出力されます)。
この部分の修正量が多くなるようであれば、移行作業は手修正有りのコンバージョン移行に近づきます。

また同様に、この変換ツールは、
ソリューション / プロジェクト ファイルやconfigファイル、一部のソースコードを変換しますが、
VS 2005、2008(ASP.NET 2.0)でサポートされた新機能を使用するようには変換されません。

このため、例えば、以下の新機能を使用する場合、コードを手修正する必要があります。

を参照。

ASP.NET 4

製品サポート状況の確認

3rdパーティ

上記の「.NET Framework 1.1 → 2.0 ~ 3.5」と同様に、製品サポート状況の確認が必要です。
また同様に、.NET Framework ランタイムや開発環境のバージョンアップに伴い、
使用する3rdパーティ製ライブラリの当該環境上でのサポートが無くなる場合、
代替ライブラリのI/O、I/F変更発生に起因する修正範囲拡大の可能性がありますので、
その場合の移行作業は手修正有りのコンバージョン移行に近づきます。

確認のポイントとしては、

などが考えられます。

OSS(ASP.NET AJAX : ASP.NET AJAX Control Toolkitなど)

OSSのメンテ状況や、以下の様な移行情報の有無を確認しておく。

ASP.NET Web FormsASP.NET MVCへの移行

アーキテクチャが別物なので再構築が必要。

ASP.NET MVC 5 → ASP.NET Core MVCへの移行

ASP.NET MVC 5 → ASP.NET Core MVCも、
同じMVCアーキテクチャだが ≒ 別物 ≒ 再構築。

.NET Core系

.NET Standardへの移行

.NET Coreへの移行

ASP.NET Coreへの移行

Windows Desktop Packsへの移行

関連リンク

.NET Framework 移行センター

http://www.microsoft.com/japan/net/migration/

アプリケーションの移行の必要性を考える

アプリケーションの移行にあたって

移行に必要な技術情報

MSDN > テクニカルドキュメント > .NET 開発

.NET Framework

ASP.NET

.NET Framework - Wikipedia

.NET Framework 1.0

.NET Framework 1.1

.NET Framework 2.0

.NET Framework 3.0

.NET Framework 3.5

.NET Framework 4

.NET Framework 4.5

.NET Framework 4.6

.NET Framework 4.7

.NET Framework 4.8

.NET Compatibility Diagnostic Tools


Tags: :移行, :.NET開発


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS