方法: インストールされている .NET Framework バージョンを確認するHow to: Determine which .NET Framework versions are installed

ユーザーはコンピューターに複数のバージョンの .NET Framework をインストールして実行できます。Users can install and run multiple versions of the .NET Framework on their computers. アプリを開発または配置する場合、どのバージョンの .NET Framework がユーザーのコンピューターにインストールされているかを確認しなければならない場合があります。When you develop or deploy your app, you might need to know which .NET Framework versions are installed on the user’s computer. .NET Framework は、個別にバージョン管理される 2 つの主要コンポーネントで構成されています。Note that the .NET Framework consists of two main components, which are versioned separately:

  • アプリに機能を提供する型やリソースのコレクションである一連のアセンブリ。A set of assemblies, which are collections of types and resources that provide the functionality for your apps. .NET Framework とアセンブリは同じバージョン番号を共有します。The .NET Framework and assemblies share the same version number.

  • アプリのコードを管理および実行する共通言語ランタイム (CLR)。The common language runtime (CLR), which manages and executes your app's code. CLR は独自のバージョン番号で識別されます (「バージョンおよび依存関係」を参照してください)。The CLR is identified by its own version number (see Versions and Dependencies).

コンピューターにインストールされている .NET Framework バージョンの正確な一覧を取得するには、レジストリを表示するか、コードでレジストリを照会することができます。To get an accurate list of the .NET Framework versions installed on a computer, you can view the registry or query the registry in code:

レジストリの表示 (バージョン 1 ~ 4)Viewing the registry (versions 1-4)
レジストリの表示 (バージョン 4.5 以降)Viewing the registry (version 4.5 and later)
コードによるレジストリの照会 (バージョン 1 ~ 4)Using code to query the registry (versions 1-4)
コードによるレジストリの照会 (バージョン 4.5 以降)Using code to query the registry (version 4.5 and later)
PowerShell を使用したレジストリの照会 (バージョン 4.5 以降)Using PowerShell to query the registry (version 4.5 and later)

CLR のバージョンを検索するには、ツールまたはコードを使用できます。To find the CLR version, you can use a tool or code:

Clrver ツールの使用Using the Clrver tool
コードによる System.Environment クラスの照会Using code to query the System.Environment class

.NET Framework の各バージョン用にインストールされている更新プログラムを検出する方法については、「方法: インストールされている .NET Framework の更新プログラムを確認する」を参照してください。For information about detecting the installed updates for each version of the .NET Framework, see How to: Determine Which .NET Framework Updates Are Installed. .NET Framework のインストールの詳細については、「開発者向けの .NET Framework のインストール」を参照してください。For information about installing the .NET Framework, see Install the .NET Framework for developers.

レジストリを表示して .NET Framework のバージョンを検索するには (.NET Framework 1 ~ 4)To find .NET Framework versions by viewing the registry (.NET Framework 1-4)

  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。On the Start menu, choose Run.

  2. [開く] ボックスに「regedit.exe」と入力します。In the Open box, enter regedit.exe.

    regedit.exe を実行するには、管理特権が必要です。You must have administrative credentials to run regedit.exe.

  3. レジストリ エディターで、次のサブキーを開きます。In the Registry Editor, open the following subkey:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP

    インストールされているバージョンは NDP のサブキーの下に一覧表示されています。The installed versions are listed under the NDP subkey. バージョン番号は、Version エントリに格納されています。The version number is stored in the Version entry. .NET Framework 4.NET Framework 4 では、Version エントリは、Client サブキーまたは Full サブキー (NDP の下)、または両方のサブキーの下にあります。For the .NET Framework 4.NET Framework 4 the Version entry is under the Client or Full subkey (under NDP), or under both subkeys.

    注意

    レジストリの ".NET Framework セットアップ" フォルダーの先頭はピリオドではありません。The "NET Framework Setup" folder in the registry does not begin with a period.

レジストリを表示して .NET Framework のバージョンを検索するには (.NET Framework 4.5 以降)To find .NET Framework versions by viewing the registry (.NET Framework 4.5 and later)

  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。On the Start menu, choose Run.

  2. [開く] ボックスに「regedit.exe」と入力します。In the Open box, enter regedit.exe.

    regedit.exe を実行するには、管理特権が必要です。You must have administrative credentials to run regedit.exe.

  3. レジストリ エディターで、次のサブキーを開きます。In the Registry Editor, open the following subkey:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full

    Full サブキーへのパスに .NET Framework ではなく Net Framework サブキーが含まれていることに注意してください。Note that the path to the Full subkey includes the subkey Net Framework rather than .NET Framework.

    注意

    Full サブキーが存在しない場合は、.NET Framework 4.5 以降がインストールされていません。If the Full subkey is not present, then you do not have the .NET Framework 4.5 or later installed.

    Release という名前の DWORD 値を確認します。Check for a DWORD value named Release. Release DWORD がある場合は、.NET Framework 4.5.NET Framework 4.5 以降がコンピューターにインストールされていることを示します。The existence of the Release DWORD indicates that the .NET Framework 4.5.NET Framework 4.5 or newer has been installed on that computer.

    .NET Framework 4.5 のレジストリ エントリ。The registry entry for the .NET Framework 4.5.

    Release の値は、インストールされている .NET Framework のバージョンを示します。The value of the Release DWORD indicates which version of the .NET Framework is installed.

    重要

    The following table lists the keys of released versions of the .NET Framework only. It doesn't list the keys of preview or pre-release versions.

    Release DWORD の値Value of the Release DWORD VersionVersion
    378389378389 .NET Framework 4.5.NET Framework 4.5
    378675378675 Windows 8.1 または Windows Server 2012 R2 でインストールされた .NET Framework 4.5.1.NET Framework 4.5.1 installed with Windows 8.1 or Windows Server 2012 R2
    378758378758 Windows 8、Windows 7 SP1、または Windows Vista SP2 上でインストールされた .NET Framework 4.5.1.NET Framework 4.5.1 installed on Windows 8, Windows 7 SP1, or Windows Vista SP2
    379893379893 .NET Framework 4.5.2.NET Framework 4.5.2
    Windows 10 システム上: 393295On Windows 10 systems: 393295

    その他すべての OS バージョン上: 393297On all other OS versions: 393297
    .NET Framework 4.6.NET Framework 4.6
    Windows 10 の 11 月更新版のシステムの場合: 394254On Windows 10 November Update systems: 394254

    他のすべての OS バージョンの場合: 394271On all other OS versions: 394271
    .NET Framework 4.6.1.NET Framework 4.6.1
    Windows 10 Anniversary Update の場合: 394802On Windows 10 Anniversary Update: 394802

    他のすべての OS バージョンの場合: 394806On all other OS versions: 394806
    .NET Framework 4.6.2.NET Framework 4.6.2
    Windows 10 Creators Update の場合: 460798On Windows 10 Creators Update: 460798

    その他すべての OS バージョン上: 460805On all other OS versions: 460805
    .NET Framework 4.7.NET Framework 4.7
    Windows 10 Fall Creators Update の場合: 461308On Windows 10 Fall Creators Update: 461308

    その他のすべての OS バージョン: 461310On all other OS versions: 461310
    .NET Framework 4.7.1.NET Framework 4.7.1

コードでレジストリを照会して .NET Framework のバージョンを検索するには (.NET Framework 1 ~ 4)To find .NET Framework versions by querying the registry in code (.NET Framework 1-4)

  • Microsoft.Win32.RegistryKey クラスを使用して、Windows レジストリの HKEY_LOCAL_MACHINE の下にある Software\Microsoft\NET Framework Setup\NDP\ サブキーにアクセスします。Use the Microsoft.Win32.RegistryKey class to access the Software\Microsoft\NET Framework Setup\NDP\ subkey under HKEY_LOCAL_MACHINE in the Windows registry.

    このクエリの例を次のコードに示します。The following code shows an example of this query.

    注意

    このコードは .NET Framework 4.5.NET Framework 4.5 以降を検出する方法を示すコードではありません。This code does not show how to detect the .NET Framework 4.5.NET Framework 4.5 or later. 前のセクションで説明したように、これらのバージョンを検出するには、Release DWORD を確認してください。Check the Release DWORD to detect those versions, as described in the previous section. .NET Framework 4.5.NET Framework 4.5 以降のバージョンを検出するコードについては、この記事の次のセクションを参照してください。For code that does detect the .NET Framework 4.5.NET Framework 4.5 or later versions, see the next section in this article.

    using Microsoft.Win32;
    using System;
    
    public static class VersionTest
    {
        public static void Main()
        {
            GetVersionFromRegistry();
        }
        
        private static void GetVersionFromRegistry()
        {
             // Opens the registry key for the .NET Framework entry.
                using (RegistryKey ndpKey = 
                    RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, "").
                    OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\"))
                {
                    // As an alternative, if you know the computers you will query are running .NET Framework 4.5 
                    // or later, you can use:
                    // using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, 
                    // RegistryView.Registry32).OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\"))
                foreach (string versionKeyName in ndpKey.GetSubKeyNames())
                {
                    if (versionKeyName.StartsWith("v"))
                    {
    
                        RegistryKey versionKey = ndpKey.OpenSubKey(versionKeyName);
                        string name = (string)versionKey.GetValue("Version", "");
                        string sp = versionKey.GetValue("SP", "").ToString();
                        string install = versionKey.GetValue("Install", "").ToString();
                        if (install == "") //no install info, must be later.
                            Console.WriteLine(versionKeyName + "  " + name);
                        else
                        {
                            if (sp != "" && install == "1")
                            {
                                Console.WriteLine(versionKeyName + "  " + name + "  SP" + sp);
                            }
    
                        }
                        if (name != "")
                        {
                            continue;
                        }
                        foreach (string subKeyName in versionKey.GetSubKeyNames())
                        {
                            RegistryKey subKey = versionKey.OpenSubKey(subKeyName);
                            name = (string)subKey.GetValue("Version", "");
                            if (name != "")
                                sp = subKey.GetValue("SP", "").ToString();
                            install = subKey.GetValue("Install", "").ToString();
                            if (install == "") //no install info, must be later.
                                Console.WriteLine(versionKeyName + "  " + name);
                            else
                            {
                                if (sp != "" && install == "1")
                                {
                                    Console.WriteLine("  " + subKeyName + "  " + name + "  SP" + sp);
                                }
                                else if (install == "1")
                                {
                                    Console.WriteLine("  " + subKeyName + "  " + name);
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    
    Imports Microsoft.Win32
    
    Public Module VersionTest
        Public Sub Main()
            GetVersionFromRegistry()
        End Sub
        
        Private Sub GetVersionFromRegistry()
    
            ' Opens the registry key for the .NET Framework entry.
            Using ndpKey As RegistryKey = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, ""). _
                OpenSubKey("SOFTWARE\Microsoft\NET Framework Setup\NDP\")
                ' As an alternative, if you know the computers you will query are running .NET Framework 4.5 
                ' or later, you can use:
    
                ' As an alternative, if you know the computers you will query are running .NET Framework 4.5 
                ' or later, you can use:
                '  Using ndpKey As RegistryKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine,  _
                '  RegistryView.Registry32).OpenSubKey("SOFTWARE\Microsoft\NET Framework Setup\NDP\")
    
                For Each versionKeyName As String In ndpKey.GetSubKeyNames()
                    If versionKeyName.StartsWith("v") Then
                        Dim versionKey As RegistryKey = ndpKey.OpenSubKey(versionKeyName)
                        Dim name As String = DirectCast(versionKey.GetValue("Version", ""), String)
                        Dim sp As String = versionKey.GetValue("SP", "").ToString()
                        Dim install As String = versionKey.GetValue("Install", "").ToString()
                        If install = "" Then
                            'no install info, ust be later
                            Console.WriteLine(versionKeyName & "  " & name)
                        Else
                            If sp <> "" AndAlso install = "1" Then
                                Console.WriteLine(versionKeyName & "  " & name & "  SP" & sp)
    
                            End If
                        End If
                        If name <> "" Then
                            Continue For
                        End If
                        For Each subKeyName As String In versionKey.GetSubKeyNames()
                            Dim subKey As RegistryKey = versionKey.OpenSubKey(subKeyName)
                            name = DirectCast(subKey.GetValue("Version", ""), String)
                            If name <> "" Then
                                sp = subKey.GetValue("SP", "").ToString()
                            End If
                            install = subKey.GetValue("Install", "").ToString()
                            If install = "" Then
                                'no install info, ust be later
                                Console.WriteLine(versionKeyName & "  " & name)
                            Else
                                If sp <> "" AndAlso install = "1" Then
                                    Console.WriteLine("  " & subKeyName & "  " & name & "  SP" & sp)
                                ElseIf install = "1" Then
                                    Console.WriteLine("  " & subKeyName & "  " & name)
    
                                End If
                            End If
                        Next
                    End If
                Next
            End Using
        End Sub
    End Module
    

    この例では次のような出力が生成されます。The example produces output that's similar to the following:

    v2.0.50727  2.0.50727.4016  SP2
    v3.0  3.0.30729.4037  SP2
    v3.5  3.5.30729.01  SP1
    v4
      Client  4.0.30319
      Full  4.0.30319
    

コードでレジストリを照会して .NET Framework のバージョンを検索するには (.NET Framework 4.5 以降)To find .NET Framework versions by querying the registry in code (.NET Framework 4.5 and later)

  1. Release DWORD がある場合は、.NET Framework 4.5 以降がコンピューターにインストールされています。The existence of the Release DWORD indicates that the .NET Framework 4.5 or later has been installed on a computer. キーワードの値はインストールされているバージョンを示します。The value of the keyword indicates the installed version. このキーワードを確認するには、Microsoft.Win32.RegistryKey クラスの OpenBaseKey メソッドと OpenSubKey メソッドを使って、Windows レジストリの HKEY_LOCAL_MACHINE の下にある Software\Microsoft\NET Framework Setup\NDP\v4\Full サブキーにアクセスします。To check this keyword, use the OpenBaseKey and OpenSubKey methods of the Microsoft.Win32.RegistryKey class to access the Software\Microsoft\NET Framework Setup\NDP\v4\Full subkey under HKEY_LOCAL_MACHINE in the Windows registry.

  2. Release キーワードの値を確認して、インストールされているバージョンを決定します。Check the value of the Release keyword to determine the installed version. 上位互換性を確認するには、テーブルに示されている値以上の値があるかを確認します。To be forward-compatible, you can check for a value greater than or equal to the values listed in the table. .NET Framework のバージョンと関連付けられた Release キーワードを次に示します。Here are the .NET Framework versions and associated Release keywords.

    重要

    The following table lists the keys of released versions of the .NET Framework only. It doesn't list the keys of preview or pre-release versions.

    VersionVersion Release DWORD の値Value of the Release DWORD
    .NET Framework 4.5.NET Framework 4.5 378389378389
    Windows 8.1 でインストールされた .NET Framework 4.5.1.NET Framework 4.5.1 installed with Windows 8.1 378675378675
    Windows 8、Windows 7 SP1、または Windows Vista SP2 上でインストールされた .NET Framework 4.5.1.NET Framework 4.5.1 installed on Windows 8, Windows 7 SP1, or Windows Vista SP2 378758378758
    .NET Framework 4.5.2.NET Framework 4.5.2 379893379893
    Windows 10 でインストールされた .NET Framework 4.6.NET Framework 4.6 installed with Windows 10 393295393295
    その他のすべての Windows OS バージョンにインストールされた .NET Framework 4.6.NET Framework 4.6 installed on all other Windows OS versions 393297393297
    Windows 10 にインストールされた .NET Framework 4.6.1.NET Framework 4.6.1 installed on Windows 10 394254394254
    その他のすべての Windows OS バージョンにインストールされた .NET Framework 4.6.1.NET Framework 4.6.1 installed on all other Windows OS versions 394271394271
    Windows 10 Anniversary Update にインストールされた .NET Framework 4.6.2.NET Framework 4.6.2 installed on Windows 10 Anniversary Update 394802394802
    その他のすべての Windows OS バージョンにインストールされた .NET Framework 4.6.2.NET Framework 4.6.2 installed on all other Windows OS versions 394806394806
    Windows 10 Creators Update にインストールされた .NET Framework 4.7.NET Framework 4.7 installed on Windows 10 Creators Update 460798460798
    その他のすべての Windows OS バージョンにインストールされた .NET Framework 4.7.NET Framework 4.7 installed on all other Windows OS versions 460805460805
    Windows 10 Fall Creators Update にインストールされた .NET Framework 4.7.1.NET Framework 4.7.1 installed on Windows 10 Fall Creators Update 461308461308
    その他のすべての Windows OS バージョンにインストールされた .NET Framework 4.7.1.NET Framework 4.7.1 installed on all other Windows OS versions 461310461310

    レジストリの Release 値を確認して .NET Framework 4.5.NET Framework 4.5 以降のバージョンの .NET Framework がインストールされているかどうかを判断する例を次に示します。The following example checks the Release value in the registry to determine whether the .NET Framework 4.5.NET Framework 4.5 or a later version of the .NET Framework is installed.

    using System;
    using Microsoft.Win32;
    
    public class GetDotNetVersion
    {
       public static void Main()
       {
          GetDotNetVersion.Get45PlusFromRegistry();
       }
    
       private static void Get45PlusFromRegistry()
       {
          const string subkey = @"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\";
    
       	using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey(subkey))
          {
       		if (ndpKey != null && ndpKey.GetValue("Release") != null) {
       			Console.WriteLine(".NET Framework Version: " + CheckFor45PlusVersion((int) ndpKey.GetValue("Release")));
       		}
             else {
                Console.WriteLine(".NET Framework Version 4.5 or later is not detected.");
             } 
       	}
       }
    
       // Checking the version using >= will enable forward compatibility.
       private static string CheckFor45PlusVersion(int releaseKey)
       {
          if (releaseKey >= 461308)
             return "4.7.1 or later";
          if (releaseKey >= 460798)
             return "4.7";
          if (releaseKey >= 394802)
             return "4.6.2";
          if (releaseKey >= 394254) {
             return "4.6.1";
          }
          if (releaseKey >= 393295) {
             return "4.6";
          }
          if ((releaseKey >= 379893)) {
             return "4.5.2";
          }
          if ((releaseKey >= 378675)) {
             return "4.5.1";
          }
          if ((releaseKey >= 378389)) {
       	   return "4.5";
          }
       	// This code should never execute. A non-null release key should mean
       	// that 4.5 or later is installed.
       	return "No 4.5 or later version detected";
       }
    }   
    // This example displays output like the following:
    //       .NET Framework Version: 4.6.1
    
    Imports Microsoft.Win32
    
    Public Module GetDotNetVersion
       Public Sub Main()
          Get45PlusFromRegistry()
       End Sub
    
       Private Sub Get45PlusFromRegistry()
          Const subkey As String = "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\"
    
        	Using ndpKey As RegistryKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey(subkey)
             If ndpKey IsNot Nothing AndAlso ndpKey.GetValue("Release") IsNot Nothing 
                Console.WriteLine(".NET Framework Version: " + CheckFor45PlusVersion(ndpKey.GetValue("Release")))
             Else 
                Console.WriteLine(".NET Framework Version 4.5 or later is not detected.")
             End If 
          End Using
       End Sub
    
       ' Checking the version using >= will enable forward compatibility.
       Private Function CheckFor45PlusVersion(releaseKey As Integer) As String
          If releaseKey >= 461308 Then
             Return "4.7.1 or later"
          Else If releaseKey >= 460798 Then
             Return "4.7"
          Else If releaseKey >= 394802 Then
             Return "4.6.2"
          Else If releaseKey >= 394254 Then 
             Return "4.6.1"
          Else If releaseKey >= 393295 Then
             Return "4.6"
          Else If releaseKey >= 379893 Then
             Return "4.5.2"
          Else If releaseKey >= 378675 Then
             Return "4.5.1"
          Else If releaseKey >= 378389 Then
             Return "4.5"
          End If
          ' This code should never execute. A non-null release key should mean
          ' that 4.5 or later is installed.
        	Return "No 4.5 or later version detected"
       End Function
    End Module   
    ' The example displays output like the following:
    '       .NET Framework Version: 4.6.1
    
    

    この例では、バージョンのチェックで推奨されている方法に従います。This example follows the recommended practice for version checking:

    • Release エントリの値が既知のリリース キー値以上かどうかをチェックします。It checks whether the value of the Release entry is greater than or equal to the value of the known release keys.

    • 最新バージョンから最も古いバージョンの順にチェックします。It checks in order from most recent version to earliest version.

PowerShell でレジストリを照会して .NET Framework の最低限必要なバージョンを確認するには(.NET Framework 4.5 以降)To check for a minimum-required .NET Framework version by querying the registry in PowerShell (.NET Framework 4.5 and later)

  • 次の例では、Release キーワードの値を確認して、Windows オペレーティング システムのバージョンに関係なく、.NET Framework 4.6.2 以降がインストールされているかどうかを判断します (インストールされている場合は True を返し、それ以外の場合は Falseを返します)。The following example checks the value of the Release keyword to determine whether .NET Framework 4.6.2 or higher is installed, regardless of Windows OS version (returning True if it is and False otherwise).

    Get-ChildItem "HKLM:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\" | Get-ItemPropertyValue -Name Release | ForEach-Object { $_ -ge 394802 } 
    

    前の例で、394802 を次の表の別の値に置き換えて、別の最低限必要な .NET Framework バージョンを確認することができます。You can replace 394802 in the previous example with another value from the following table to check for a different minimum-required .NET Framework version.

    VersionVersion Release DWORD の最小値Minimum value of the Release DWORD
    .NET Framework 4.5.NET Framework 4.5 378389378389
    .NET Framework 4.5.1.NET Framework 4.5.1 378675378675
    .NET Framework 4.5.2.NET Framework 4.5.2 379893379893
    .NET Framework 4.6.NET Framework 4.6 393295393295
    .NET Framework 4.6.1.NET Framework 4.6.1 394254394254
    .NET Framework 4.6.2.NET Framework 4.6.2 394802394802
    .NET Framework 4.7.NET Framework 4.7 460798460798
    .NET Framework 4.7.1.NET Framework 4.7.1 461308461308

Clrver ツールを使用して現在のランタイムのバージョンを確認する方法To find the current runtime version by using the Clrver tool

  • CLR バージョン ツール (Clrver.exe) を使用して、コンピューターにインストールされている共通言語ランタイムのバージョンを確認します。Use the CLR Version Tool (Clrver.exe) to determine which versions of the common language runtime are installed on a computer.

    Visual Studio コマンド プロンプトで、「clrver」と入力します。From a Visual Studio Command Prompt, enter clrver. 次のような出力が表示されます。This command produces output similar to the following:

    Versions installed on the machine:
    v2.0.50727
    v4.0.30319
    

    このツールの使用については、「Clrver.exe (CLR Version Tool)」を参照してください。For more information about using this tool, see Clrver.exe (CLR Version Tool).

コードで Environment クラスを照会して現在のランタイム バージョンを確認するにはTo find the current runtime version by querying the Environment class in code

  • Environment.Version プロパティを照会して Version オブジェクトを取得し、現在コードを実行しているランタイムのバージョンを識別します。Query the Environment.Version property to retrieve a Version object that identifies the version of the runtime that is currently executing the code. メジャー リリースの識別子 (バージョン 4.0 の "4" など) を取得するには Version.Major プロパティを、マイナー リリースの識別子 (バージョン 4.0 の "0" など) を取得するには Version.Minor プロパティを、バージョン文字列全体 (次のコードに示すような "4.0.30319.18010" など) を取得するには Object.ToString メソッドを使用できます。You can use the Version.Major property to get the major release identifier (for example, "4" for version 4.0), the Version.Minor property to get the minor release identifier (for example, "0" for version 4.0), or the Object.ToString method to get the entire version string (for example, "4.0.30319.18010", as shown in the following code). このプロパティは、現在コードを実行しているランタイムのバージョンを表す単一の値を返しますが、アセンブリのバージョンやコンピューターにインストールされている可能性があるランタイムの他のバージョンは返しません。This property returns a single value that reflects the version of the runtime that is currently executing the code; it does not return assembly versions or other versions of the runtime that may have been installed on the computer.

    .NET Framework バージョン 4、4.5、4.5.1、および 4.5.2 の場合は、Environment.Version プロパティから返される Version オブジェクトの文字列表現が 4.0.30319.xxxxx という形式になっています。For the .NET Framework Versions 4, 4.5, 4.5.1, and 4.5.2, the Environment.Version property returns a Version object whose string representation has the form 4.0.30319.xxxxx. .NET Framework 4.6 以降の場合は、4.0.30319.42000 という形式です。For the .NET Framework 4.6 and later, it has the form 4.0.30319.42000.

    重要

    .NET Framework 4.5.NET Framework 4.5 以降の場合、ランタイムのバージョンの検出に Environment.Version プロパティを使用することは推奨されません。For the .NET Framework 4.5.NET Framework 4.5 and later, we do not recommend using the Environment.Version property to detect the version of the runtime. 代わりに、この記事で前述した「コードでレジストリを照会して .NET Framework のバージョンを検索するには (.NET Framework 4.5 以降)」に従って、レジストリを紹介することをお勧めします。Instead, we recommend that you query the registry, as described in the To find .NET Framework versions by querying the registry in code (.NET Framework 4.5 and later) section earlier in this article.

    次に、Environment.Version プロパティを照会してランタイム バージョン情報を取得する例を示します。Here's an example of querying the Environment.Version property for runtime version information:

    using System;
    
    public class VersionTest
    {
        public static void Main()
        {
            Console.WriteLine($"Version: {Environment.Version}");
        }
    }
    
    Imports Microsoft.Win32
    
    Public Module VersionTest
       Public Sub Main()
          GetVersionFromEnvironment()
       End Sub
       
        Private Sub GetVersionFromEnvironment()
            Console.WriteLine($"Version: {Environment.Version}")
        End Sub
    End Module
    
    

    この例では次のような出力が生成されます。The example produces output that's similar to the following:

    Version: 4.0.30319.18010
    

関連項目See also

方法: インストールされている .NET Framework の更新プログラムを確認するHow to: Determine Which .NET Framework Updates Are Installed
開発者向けの .NET Framework のインストールInstall the .NET Framework for developers
バージョンおよび依存関係Versions and Dependencies