DOBON.NET プログラミング道: .NET Framework, VB.NET, C#, Visual Basic, Visual Studio, インストーラ, ...

実行している共通言語ランタイム(CLR)のバージョン番号、インストールされているディレクトリ、システム構成ファイル(マシン構成ファイル、Machine.config)のパスを取得する

RuntimeEnvironmentクラス

共通言語ランタイム(CLR)環境に関する情報を取得するには、RuntimeEnvironmentクラスが役に立ちます。

RuntimeEnvironmentのGetSystemVersionメソッドで、現在のプロセスを実行している共通言語ランタイムのバージョン番号を取得できます。

GetRuntimeDirectoryメソッドで、共通言語ランタイムがインストールされているディレクトリを取得できます。このディレクトリは通常「%windir%\Microsoft.NET\Framework\version\」になります。

SystemConfigurationFileプロパティで、システム構成ファイル(マシン構成ファイル、Machine.config)へのパスを取得できます。このパスは通常「%windir%\Microsoft.NET\Framework\version\config\machine.config」になります。

VB.NET
コードを隠すコードを選択
Console.WriteLine("共通言語ランタイムのバージョン番号:")
Console.WriteLine( _
    System.Runtime.InteropServices.RuntimeEnvironment.GetSystemVersion())
Console.WriteLine("共通言語ランタイムがインストールされているディレクトリ:")
Console.WriteLine( _
    System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeDirectory())
Console.WriteLine("システム構成ファイルへのパス:")
Console.WriteLine( _
    System.Runtime.InteropServices.RuntimeEnvironment.SystemConfigurationFile)
C#
コードを隠すコードを選択
Console.WriteLine("共通言語ランタイムのバージョン番号:");
Console.WriteLine(
    System.Runtime.InteropServices.RuntimeEnvironment.GetSystemVersion());
Console.WriteLine("共通言語ランタイムがインストールされているディレクトリ:");
Console.WriteLine(
    System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeDirectory());
Console.WriteLine("システム構成ファイルへのパス:");
Console.WriteLine(
    System.Runtime.InteropServices.RuntimeEnvironment.SystemConfigurationFile);
出力例 :

共通言語ランタイムのバージョン番号:
v1.0.3705
共通言語ランタイムがインストールされているディレクトリ:
C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\
システム構成ファイルへのパス:
C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\config\machine.config

Environment.Versionプロパティ

RuntimeEnvironment.GetSystemVersionメソッドではリビジョン番号を取得できません。リビジョン番号を含めたバージョンは、Environment.Versionプロパティで取得できます。

VB.NET
コードを隠すコードを選択
Console.WriteLine("共通言語ランタイムのバージョン: {0}",
    Environment.Version.ToString())
C#
コードを隠すコードを選択
Console.WriteLine("共通言語ランタイムのバージョン: {0}",
    Environment.Version.ToString());

.NET Frameworkのバージョン

.NET Frameworkのバージョンについては、Wikipedia: .NET Frameworkの.NET Frameworkのバージョン表を参考にしてください。

ちなみに.NET Framework 3.0と3.5は共通言語ランタイムなどの基本的な部分が2.0と同じですので、上記の方法でバージョンを取得すると2.0と同じバージョンになります。

  • 履歴:
  • 2008/12/2 「Environment.Versionプロパティ」と「.NET Frameworkのバージョン」を追加。

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

  • Windows Vista以降でUACが有効になっていると、ファイルへの書き込みに失敗する可能性があります。詳しくは、こちらをご覧ください。
  • .NET Tipsをご利用いただく際は、注意事項をお守りください。