軽減策: 製品のバージョン管理

.NET Framework 4.6 以降のバージョンでは、製品のバージョン管理が .NET Framework の以前のリリース (.NET Framework 4、4.5、4.5.1、4.5.2) から変更されました。

製品のバージョン管理の変更点

変更の詳細は次のとおりです。

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full キーの Version エントリの値は、.NET Framework 4.6 とそのポイント リリースの場合は 4.6.xxxxx に、.NET Framework 4.7 の場合は 4.7.xxxxx にそれぞれ変更されました。 .NET Framework 4.5、4.5.1、4.5.2 では、4.5.xxxxx という形式でした。

  • .NET Framework ファイルにおけるファイルおよび製品のバージョン管理は、.NET Framework 4.6 とそのポイント リリースの場合は以前のスキーマのバージョン管理 4.0.30319.x から 4.6.X.0 に、.NET Framework 4.7 とそのポイント リリースの場合は 4.7.X.0 にそれぞれ変更されました。 ファイルを右クリックしてファイルの [プロパティ] を表示すると、これらの新しい値が表示されます。

  • マネージド アセンブリの AssemblyFileVersionAttribute 属性と AssemblyInformationalVersionAttribute 属性の Version 値は、.NET Framework 4.6 とそのポイント リリースの場合は 4.6.X.0 という形式、.NET Framework 4.7 の場合は 4.7.X.0 という形式になります。

  • .NET Framework 4.6 以降では、Environment.Version プロパティによって固定のバージョン文字列 4.0.30319.42000 が返されます。 .NET Framework 4、4.5、4.5.1、4.5.2 では、4.0.30319.xxxxx という形式のバージョン文字列が返されます。ここでの xxxxx は 42000 より小さいです (例: "4.0.30319.18010")。 アプリケーションのコードで Environment.Version プロパティに新しい依存関係を設定することは推奨していないことに注意してください。

製品のバージョン管理の変更に対する処置

一般に、.NET Framework のランタイムのバージョンやインストール ディレクトリを検出する際、アプリケーションは推奨される技法に従う必要があります。

  • .NET Framework のランタイム バージョンを検出するには、「方法:インストールされている .NET Framework バージョンを確認する」を参照してください。

  • .NET Framework のインストール パスを確認するには、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full キーの InstallPath エントリの値を使用します。

    重要

    サブキー名は、.NET Framework Setup ではなく NET Framework Setup です。

  • .NET Framework の共通言語ランタイムへのディレクトリ パスを確認するには、RuntimeEnvironment.GetRuntimeDirectory メソッドを呼び出します。

  • CLR のバージョンを取得するには、RuntimeEnvironment.GetSystemVersion メソッドを呼び出します。 .NET Framework 4 とそのポイント リリース (.NET Framework 4.5、4.5.1、4.5.2、および .NET Framework 4.6、4.6.1、4.6.2、4.7) の場合は、文字列 v4.0.30319 が返されます。

関連項目