方法: インストールされている .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:

レジストリで .NET Framework バージョン 1 ~ 4 を探すFind .NET Framework versions 1-4 in the registry
レジストリで .NET Framework バージョン 4.5 以降を探すFind .NET Framework versions 4.5 and later in the registry)
コードによるレジストリの照会 (バージョン 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 のバージョンと共通言語ランタイム (CLR) のバージョンの間には違いがあります。There is a difference between the .NET Framework version and the common language runtime (CLR) version. .NET Framework は、.NET Framework のクラス ライブラリを構成するアセンブリのセットに基づいてバージョン管理されています。The .NET Framework is versioned based on the set of assemblies that form the .NET Framework Class Library. たとえば、.NET Framework のバージョンには、4.5、4.6.1、および 4.7.2 が含まれます。For example, .NET Framework versions include 4.5, 4.6.1, and 4.7.2. CLR は .NET Framework アプリケーションが実行されるランタイムに基づいてバージョン管理されており、通常、CLR の 1 つのバージョンでは .NET Framework の複数のバージョンがサポートされています。The CLR is versioned based on the runtime on which .NET Framework applications execute, and a single CLR version typically supports multiple .NET Framework versions. CLR バージョン 4.30319.xxxxx では .NET Framework バージョン 4 ~ 4.5.2 がサポートされており、CLR バージョン 4.30319.42000 では .NET Framework 4.6 以降がサポートされています。CLR version 4.30319.xxxxx supports .NET Framework versions 4 through 4.5.2; CLR version 4.30319.42000 supports .NET Framework versions starting with .NET Framework 4.6. 詳細については、Environment.Version プロパティを参照してください。For more information, see the Environment.Version property.

.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 バージョン 1 ~ 4 を探すFind .NET Framework versions 1-4 in the registry

  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

    .NET Framework バージョン 1.1 ~ 3.5 の場合、インストールされているバージョンは、NDP サブキーの下のサブキーとして列挙されます。For .NET Framework versions 1.1 through 3.5, the installed versions are listed as subkeys under the NDP subkey. バージョン番号は、バージョン サブキーの Version エントリに格納されています。The version number is stored in the version subkey's Version entry.

    .NET Framework 4 の場合は、Version エントリは HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4.0\Client サブキーと HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4.0\Full サブキーのどちらか一方または両方の下にあります。For .NET Framework 4, the Version entry is under the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4.0\Client subkey, the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4.0\Full subkey, or under both subkeys.

    注意

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

    次の図では、.NET Framework 3.5 のサブキーと共にその Version エントリが示されています。The following figure shows that the subkey for the .NET Framework 3.5 along with its Version entry.

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

レジストリで .NET Framework バージョン 4.5 以降を探すFind .NET Framework versions 4.5 and later in the registry

  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 以降がそのコンピューターにインストールされています。The existence of the Release DWORD indicates that .NET Framework 4.5 or later has been installed on that computer. その値は、.NET Framework の特定のバージョンに対応するリリース キーです。Its value is a release key that corresponds to a particular version of .NET Framework. たとえば、次の図では、Release DWORD の値は 378389 で、これは .NET Framework 4.5 のリリース キーです。In the following figure, for example, the value of the Release DWORD is 378389, which is the release key for .NET Framework 4.5.

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

次の表では、.NET Framework の各バージョンに対する Release DWORD の最小値の一覧を示します。The following table lists the minimum value of the Release DWORD for each .NET Framework version. これらの値は次のように使用できます。You can use these values as follows:

  • .NET Framework の最小バージョンが存在するかどうかを確認するには、レジストリの Release DWORD 値が表で示されている値と "等しいかそれより大きい" かどうかを調べます。To determine whether a minimum .NET Framework version is present, test whether the Release DWORD value found in the registry is greater than or equal to the value listed in the table. たとえば、アプリケーションで .NET Framework 4.7 以降が必要な場合は、最小のリリース キー値 460798 について調べます。For example, if your application requires .NET Framework 4.7 or later, you would test for a minimum release key value of 460798.

  • 複数のバージョンについて調べるには、.NET Framework の最新のバージョンから始めて、以前のバージョンに順番に遡りながら調べます。To test for multiple versions, begin with the latest .NET Framework version, and then test for each successive earlier version.

重要

次の表では、.NET Framework のリリース バージョンのみのキーの一覧を示します。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.

.NET Framework のバージョン.NET Framework Version Release DWORD の値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
.NET Framework 4.7.2.NET Framework 4.7.2 461808461808

Windows オペレーティング システムの特定のバージョンに対する .NET Framework のリリース キーの完全な表については、「.NET Framework のリリース キーと Windows オペレーティング システムのバージョン」をご覧ください。For a complete table of release keys for the .NET Framework for specific Windows operating system versions, see .NET Framework release keys and Windows operating system versions.

コードで .NET Framework バージョン 1 ~ 4 を探すFind .NET Framework versions 1-4 with code

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

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

    注意

    このコードでは、.NET Framework 4.5 以降を検出する方法は示されていません。This code does not show how to detect .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 以降のバージョンを検出するコードについては、この記事の次のセクションを参照してください。For code that detects .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.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).
                    OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\"))
            {
                foreach (var versionKeyName in ndpKey.GetSubKeyNames())
                {
                    // Skip .NET Framework 4.5 version information.
                    if (versionKeyName == "v4")
                    {
                        continue;
                    }
    
                    if (versionKeyName.StartsWith("v"))
                    {
    
                        RegistryKey versionKey = ndpKey.OpenSubKey(versionKeyName);
                        // Get the .NET Framework version value.
                        var name = (string)versionKey.GetValue("Version", "");
                        // Get the service pack (SP) number.
                        var sp = versionKey.GetValue("SP", "").ToString();
    
                        // Get the installation flag, or an empty string if there is none.
                        var install = versionKey.GetValue("Install", "").ToString();
                        if (string.IsNullOrEmpty(install)) // No install info; it must be in a child subkey.
                            Console.WriteLine($"{versionKeyName}  {name}");
                        else
                        {
                            if (!(string.IsNullOrEmpty(sp)) && install == "1")
                            {
                                Console.WriteLine($"{versionKeyName}  {name}  SP{sp}");
                            }
                        }
                        if (! string.IsNullOrEmpty(name))
                        {
                            continue;
                        }
                        foreach (var subKeyName in versionKey.GetSubKeyNames())
                        {
                            RegistryKey subKey = versionKey.OpenSubKey(subKeyName);
                            name = (string)subKey.GetValue("Version", "");
                            if (! string.IsNullOrEmpty(name))
                                sp = subKey.GetValue("SP", "").ToString();
                            
                            install = subKey.GetValue("Install", "").ToString();
                            if (string.IsNullOrEmpty(install)) //No install info; it must be later.
                                Console.WriteLine($"{versionKeyName}  {name}");
                            else
                            {
                                if (!(string.IsNullOrEmpty(sp )) && install == "1")
                                {
                                    Console.WriteLine($"{subKeyName}  {name}  SP{sp}");
                                }
                                else if (install == "1")
                                {
                                    Console.WriteLine($"  {subKeyName}  {name}");
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    // The example displays output similar to the following:
    //        v2.0.50727  2.0.50727.4927  SP2
    //        v3.0  3.0.30729.4926  SP2
    //        v3.5  3.5.30729.4926  SP1
    //        v4.0
    //        Client  4.0.0.0
    
    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.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32). 
                OpenSubKey("SOFTWARE\Microsoft\NET Framework Setup\NDP\")
    
                For Each versionKeyName In ndpKey.GetSubKeyNames()
                    ' Skip .NET Framework 4.5 and later.
                    If versionKeyName = "v4" Then Continue For
    
                    If versionKeyName.StartsWith("v") Then
                        Dim versionKey As RegistryKey = ndpKey.OpenSubKey(versionKeyName)
                        ' Get the .NET Framework version value.
                        Dim name = DirectCast(versionKey.GetValue("Version", ""), String)
                        ' Get the service pack (SP) number.
                        Dim sp = versionKey.GetValue("SP", "").ToString()
                       
                        Dim install = versionKey.GetValue("Install", "").ToString()
                        If String.IsNullOrEmpty(install) Then  ' No install info; it must be in a child subkey.
                            Console.WriteLine($"{versionKeyName}  {name}")
                        Else
                            If Not String.IsNullOrEmpty(sp) AndAlso install = "1" Then
                                Console.WriteLine($"{versionKeyName}  {name}  SP{sp}")
                            End If
                        End If
                        If Not String.IsNullOrEmpty(name) Then
                            Continue For
                        End If
                        For Each subKeyName In versionKey.GetSubKeyNames()
                            Dim subKey As RegistryKey = versionKey.OpenSubKey(subKeyName)
                            name = DirectCast(subKey.GetValue("Version", ""), String)
                            If Not String.IsNullOrEmpty(name) Then
                                sp = subKey.GetValue("SP", "").ToString()
                            End If
                            install = subKey.GetValue("Install", "").ToString()
                            If String.IsNullOrEmpty(install) Then  ' No install info; it must be later.
                                Console.WriteLine($"{versionKeyName}  {name}")
                            Else
                                If Not String.IsNullOrEmpty(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 displays output similar to the following:
    '        v2.0.50727  2.0.50727.4927  SP2
    '        v3.0  3.0.30729.4926  SP2
    '        v3.5  3.5.30729.4926  SP1
    '        v4.0
    '        Client  4.0.0.0
    

コードで .NET Framework バージョン 4.5 以降を探すFind .NET Framework versions 4.5 and later with code

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

  2. Release キーワードの値を確認して、インストールされているバージョンを決定します。Check the value of the Release keyword to determine the installed version. 上位互換性を確認するには、「レジストリで .NET Framework バージョン 4.5 以降を探す」セクションの表で示されている値と等しいかそれより大きい値を調べます。To be forward-compatible, you can check for a value greater than or equal to the value listed in the table in the Find .NET Framework versions 4.5 and later in the registry section.

レジストリの Release 値を確認して .NET Framework 4.5 以降のバージョンがインストールされているかどうかを判断する例を次に示します。The following example checks the Release value in the registry to determine whether .NET Framework 4.5 or a later version 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 (var 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 >= enables forward compatibility.
      string CheckFor45PlusVersion(int releaseKey)
      {
         if (releaseKey >= 461808)
            return "4.7.2 or later";
         if (releaseKey >= 461308)
            return "4.7.1";
         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 のバージョン (4.5 以降) を確認するCheck for a minimum required .NET Framework version (4.5 and later) with PowerShell

次の例では、Release キーワードの値を確認して、.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 (returning True if it is and False otherwise).

```PowerShell
# PowerShell 5
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\' | Get-ItemPropertyValue -Name Release | Foreach-Object { $_ -ge 394802 } 
```

```PowerShell
# PowerShell 4
(Get-ItemProperty "HKLM:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full").Release -gt 394802
```

You can replace `394802` in the previous example with another value from the following table in the [Find .NET Framework versions 4.5 and later in the registry](#net_b) section to check for a different minimum required .NET Framework version.

Clrver.exe を使用して現在の CLR のバージョンを調べるFind the current CLR version with Clrver.exe

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 Developer Command Prompt for Visual Studio, 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 クラスを使用して現在の CLR のバージョンを調べるFind the current CLR version with the Environment class

Environment.Version プロパティの値を取得して Version オブジェクトを取得し、現在コードを実行しているランタイムのバージョンを識別できます。You can retrieve the value of 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" など) を取得するには Version.ToString メソッドを使用できます。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.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 Version.ToString method to get the entire version string (for example, "4.0.30319.18010", as shown in the following code).

.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 以降の場合、ランタイムのバージョンの検出に Environment.Version プロパティを使用することは推奨されません。For the .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 プロパティを使用してランタイム バージョンの情報を取得しています。The following example used the Environment.Version property to retrieve runtime version information:

using System;

public class VersionTest
{
    public static void Main()
    {
        Console.WriteLine($"Version: {Environment.Version}");
    }
}
// The example displays output similar to the following:'
//    Version: 4.0.30319.18010
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 displays output similiar to the following:'
'    Version: 4.0.30319.18010

関連項目See also