次の方法で共有


方法: インストールされている .NET Framework のバージョンを確認する

この記事は .NET Framework に固有のものです。 インストールされている .NET Core および .NET 5 以降の SDK とランタイムを確認するには、「 .NET が既にインストールされていることを確認する方法」を参照してください。

コンピューターに複数のバージョンの .NET Framework をインストールして実行できます。

  • 自分のコンピューターでバージョンを確認する場合、最も簡単な方法は、コントロール パネル>プログラム>プログラムと機能、または [アプリ>の設定] を使用することです。 また、コミュニティで管理されているツールを使用することもできます。
  • アプリ開発者の場合は、アプリ ユーザーのコンピューターにインストールされている .NET Framework のバージョンを把握することが必要になる場合があります。 レジストリには、コンピューターにインストールされている .NET Framework のバージョンの一覧が含まれています。 RuntimeInformation.FrameworkDescription プロパティのクエリを実行することもできます。
  • 個別にバージョン管理されている CLR バージョンを見つけるには、「 CLR バージョンの検索」を参照してください。

.NET Framework は、個別にバージョン管理される 2 つの主要なコンポーネントで構成されています。

  • アプリの機能を提供する型とリソースのコレクションであるアセンブリのセット。 .NET Framework とアセンブリは同じバージョン番号を共有します。 たとえば、.NET Framework のバージョンには、4.5、4.6.1、4.7.2 が含まれます。
  • アプリのコードを管理および実行する共通言語ランタイム (CLR)。 1 つの CLR バージョンでは、通常、複数の .NET Framework バージョンがサポートされます。 たとえば、CLR バージョン 4.0.30319 です。xxxxx が 42000 未満の xxxxx では、.NET Framework バージョン 4 から 4.5.2 がサポートされます。 4.0.30319.42000 以上の CLR バージョンでは、.NET Framework 4.6 以降の .NET Framework バージョンがサポートされます。

ヒント

.NET Framework の各バージョンにインストールされている 更新プログラム を検出する方法については、「 方法: インストールされている .NET Framework の更新プログラムを決定する」を参照してください。

コミュニティが管理するツール

インストールされている .NET Framework のバージョンを検出するために、コミュニティが管理するツールを使用できます。

RuntimeInformation.FrameworkDescription プロパティ

アプリが実行されている .NET バージョンをプログラムで照会するには、 RuntimeInformation.FrameworkDescription プロパティを使用できます。 アプリが .NET Framework で実行されている場合、出力は次のようになります。

.NET Framework 4.8.4250.0

これに対し、アプリが .NET Core または .NET 5 以降で実行されている場合、出力は次のようになります。

.NET Core 3.1.9
.NET 5.0.0

レジストリ

レジストリを使用して、インストールされている .NET Framework のバージョンを検出できます。 キーは、.NET Framework 1.0-4.0 と .NET Framework 4.5 以降では異なります。 レジストリ エディター、PowerShell、またはコードを使用してレジストリを確認できます。

.NET Framework 4.5 以降のバージョン

コンピューターにインストールされている .NET Framework (4.5 以降) のバージョンは、 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Fullのレジストリに表示されます。 完全サブキーがない場合、.NET Framework 4.5 以降はインストールされません。

レジストリ パスの NET Framework Setup サブキーはピリオドで始まっていません。

レジストリの Release REG_DWORD値は、インストールされている .NET Framework のバージョンを表します。

.NET Framework のバージョン リリースの値
.NET Framework 4.5 すべての Windows オペレーティング システム: 378389
.NET Framework 4.5.1 Windows 8.1 および Windows Server 2012 R2 の 場合: 378675
その他のすべての Windows オペレーティング システム: 378758
.NET Framework 4.5.2 すべての Windows オペレーティング システム: 379893
.NET Framework 4.6 Windows 10 の場合: 393295
その他のすべての Windows オペレーティング システム: 393297
.NET Framework 4.6.1 Windows 10 November Update システムの場合: 394254
その他のすべての Windows オペレーティング システム (Windows 10 を含む): 394271
.NET Framework 4.6.2 Windows 10 Anniversary Update と Windows Server 2016 における 394802
その他のすべての Windows オペレーティング システム (他の Windows 10 オペレーティング システムを含む): 394806
.NET Framework 4.7 Windows 10 Creators Update の場合: 460798
その他のすべての Windows オペレーティング システム (他の Windows 10 オペレーティング システムを含む): 460805
.NET Framework 4.7.1 Windows 10 Fall Creators アップデートおよび Windows Server バージョン 1709 に対して: 461308
その他のすべての Windows オペレーティング システム (他の Windows 10 オペレーティング システムを含む): 461310
.NET Framework 4.7.2 Windows 10 April 2018 Update と Windows Server バージョン 1803: 461808
Windows 10 April 2018 Update および Windows Server バージョン 1803 以外のすべての Windows オペレーティング システムで: 461814
.NET Framework 4.8 Windows 10 May 2019 Update および Windows 10 November 2019 Update: 528040
Windows 10 May 2020 Update、October 2020 Update、May 2021 Update、November 2021 Update、および 2022 Update: 528372
Windows 11 および Windows Server 2022 の 場合: 528449
他のすべての Windows オペレーティング システム (他の Windows 10 オペレーティング システムを含む): 528049
.NET Framework 4.8.1 Windows 11 2025 Update の 場合: 533509
Windows 11 2022 Update および Windows 11 2023 Update: 533320
その他のすべての Windows オペレーティング システム: 533325

最小バージョン

.NET Framework の 最小 バージョンが存在するかどうかを確認するには、次の表に示す対応する値以上の Release REG_DWORD値を確認します。 たとえば、アプリケーションが .NET Framework 4.8 以降のバージョンで実行されている場合は、528040 以上Release REG_DWORD値をテストします。

.NET Framework のバージョン 最小値
.NET Framework 4.5 378389
.NET Framework 4.5.1 378675
.NET Framework 4.5.2 379893
.NET Framework 4.6 393295
.NET Framework 4.6.1 394254
.NET Framework 4.6.2 394802
.NET Framework 4.7 460798
.NET Framework 4.7.1 461308
.NET Framework 4.7.2 461808
.NET Framework 4.8 528040
.NET Framework 4.8.1 533320

レジストリ エディターを使用する

  1. [スタート] メニューから [実行] を選択し、「regedit」と入力して、[OK] を選択します

    (regedit を実行するには、管理者の資格情報が必要です)。

  2. レジストリ エディターで、次のサブキーを開きます: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Fullします。 フル サブキーが存在しない場合は、.NET Framework 4.5 以降がインストールされていません。

  3. Release という名前のREG_DWORDエントリを確認します。 存在する場合は、.NET Framework 4.5 以降がインストールされています。 その値は、.NET Framework の特定のバージョンに対応します。 次の図では、たとえば、 リリース エントリの値は 528040 で、これは .NET Framework 4.8 のリリース キーです。

    .NET Framework 4.5 のレジストリ エントリを示す RegEdit ツールのスクリーンショット

PowerShell を使用して最小バージョンを確認する

PowerShell コマンドを使用して、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full サブキーの Release エントリの値を確認します。

次の例では、 リリース エントリの値を調べて、.NET Framework 4.6.2 以降がインストールされているかどうかを確認します。 このコードは、インストールされている場合は True を返し、それ以外の場合は False します。

(Get-ItemPropertyValue -LiteralPath 'HKLM:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full' -Name Release) -ge 394802

コードを使用してレジストリにクエリを実行する

  1. RegistryKey.OpenBaseKeyメソッドとRegistryKey.OpenSubKey メソッドを使用して、Windows レジストリの HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full サブキーにアクセスします。

    Important

    実行しているアプリが 32 ビットで、64 ビット Windows で実行されている場合、レジストリ パスは以前に示したパスとは異なります。 32 ビット レジストリは 、HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ サブキーで使用できます。 たとえば、.NET Framework 4.5 のレジストリ サブキーは HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Full

  2. リリース REG_DWORDの値を確認して、インストールされているバージョンを確認します。 前方互換性を持つには、 .NET Framework のバージョン テーブルに記載されている値以上の値を確認します。

次の例では、レジストリの Release エントリの値を調べて、インストールされている .NET Framework 4.5-4.8.1 のバージョンを見つけます。

ヒント

まだ行っていない場合は、コード ファイルの先頭にディレクティブ using Microsoft.Win32 または Imports Microsoft.Win32 を追加します。

const string subkey = @"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\";

using (RegistryKey baseKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32))
using (RegistryKey ndpKey = baseKey.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 >= 533320) return "4.8.1 or later";
    if (releaseKey >= 528040) return "4.8";
    if (releaseKey >= 461808) return "4.7.2";
    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";
}
Private Sub Get45PlusFromRegistry()
    Const subkey As String = "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\"

    Using baseKey As RegistryKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32),
          ndpKey As RegistryKey = baseKey.OpenSubKey(subkey)

        If ndpKey IsNot Nothing AndAlso ndpKey.GetValue("Release") IsNot Nothing Then
            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 >= enables forward compatibility.
Private Function CheckFor45PlusVersion(releaseKey As Integer) As String
    Select Case releaseKey
        Case >= 533320 : Return "4.8.1 or later"
        Case >= 528040 : Return "4.8"
        Case >= 461808 : Return "4.7.2"
        Case >= 461308 : Return "4.7.1"
        Case >= 460798 : Return "4.7"
        Case >= 394802 : Return "4.6.2"
        Case >= 394254 : Return "4.6.1"
        Case >= 393295 : Return "4.6"
        Case >= 379893 : Return "4.5.2"
        Case >= 378675 : Return "4.5.1"
        Case >= 378389 : Return "4.5"
        Case Else
            Return "No 4.5 or later version detected"
    End Select
End Function

この例では、次のような出力が表示されます。

.NET Framework Version: 4.6.1

PowerShell を使用してレジストリにクエリを実行する

次の例では、PowerShell を使用してレジストリの リリース エントリの値を確認し、インストールされている .NET Framework 4.5-4.8.1 のバージョンを見つけます。

$release = Get-ItemPropertyValue -LiteralPath 'HKLM:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full' -Name Release
switch ($release) {
    { $_ -ge 533320 } { $version = '4.8.1 or later'; break }
    { $_ -ge 528040 } { $version = '4.8'; break }
    { $_ -ge 461808 } { $version = '4.7.2'; break }
    { $_ -ge 461308 } { $version = '4.7.1'; break }
    { $_ -ge 460798 } { $version = '4.7'; break }
    { $_ -ge 394802 } { $version = '4.6.2'; break }
    { $_ -ge 394254 } { $version = '4.6.1'; break }
    { $_ -ge 393295 } { $version = '4.6'; break }
    { $_ -ge 379893 } { $version = '4.5.2'; break }
    { $_ -ge 378675 } { $version = '4.5.1'; break }
    { $_ -ge 378389 } { $version = '4.5'; break }
    default { $version = $null; break }
}

if ($version) {
    Write-Host -Object ".NET Framework Version: $version"
} else {
    Write-Host -Object '.NET Framework Version 4.5 or later is not detected.'
}

この例は、バージョン チェックの推奨されるプラクティスに従います。

  • Release エントリの値が既知の リリース 値の値 以上 かどうかを確認します。
  • 最新バージョンから最も古いバージョンに順にチェックされます。

.NET Framework 1.0-4.0

1.1 から 4.0 までの .NET Framework の各バージョンは、 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDPのサブキーとして一覧表示されます。 次の表に、各 .NET Framework バージョンへのパスを示します。 ほとんどのバージョンでは、このバージョンがインストールされていることを示すインストール REG_DWORD 値1があります。 これらのサブキーには、バージョン文字列を含む Version REG_SZ値もあります。

レジストリ パスの NET Framework Setup サブキーはピリオドで始まっていません。

フレームワークのバージョン レジストリ サブキー 価値
1.0 HKLM\Software\Microsoft\.NETFramework\Policy\v1.0\3705 取り付ける REG_SZ等しい 1
1.1 HKLM\Software\Microsoft\NET Framework Setup\NDP\v1.1.4322 取り付ける REG_DWORDが等しい 1
2.0 HKLM\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727 取り付ける REG_DWORDが等しい 1
3.0 HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.0\Setup InstallSuccess REG_DWORDが等しい 1
3.5 HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.5 取り付ける REG_DWORDが等しい 1
4.0 クライアント プロファイル HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Client 取り付ける REG_DWORDが等しい 1
4.0 完全プロファイル HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full 取り付ける REG_DWORDが等しい 1

Important

実行しているアプリが 32 ビットで、64 ビット Windows で実行されている場合、レジストリ パスは以前に示したパスとは異なります。 32 ビット レジストリは 、HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ サブキーで使用できます。 たとえば、.NET Framework 3.5 のレジストリ サブキーは HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v3.5

.NET Framework 1.0 サブキーへのレジストリ パスが他のサブキーとは異なっています。

レジストリ エディター (以前のフレームワーク バージョン) を使用する

  1. [スタート] メニューから [実行] を選択し、「regedit」と入力して、[OK] を選択します

    regedit を実行するには、管理者の資格情報が必要です。

  2. 確認するバージョンに一致するサブキーを開きます。 .NET Framework 1.0-4.0 セクションの表を使用します。

    次の図は、.NET Framework 3.5 のサブキーとその バージョン 値を示しています。

    .NET Framework 3.5 のレジストリ エントリを示す RegEdit ツールのスクリーンショット

コード (以前のフレームワーク バージョン) を使用してレジストリにクエリを実行する

Microsoft.Win32.RegistryKey クラスを使用して、Windows レジストリの HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP サブキーにアクセスします。

Important

実行しているアプリが 32 ビットで、64 ビット Windows で実行されている場合、レジストリ パスは以前に示したパスとは異なります。 32 ビット レジストリは 、HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ サブキーで使用できます。 たとえば、.NET Framework 3.5 のレジストリ サブキーは HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v3.5

次の例では、インストールされている .NET Framework 1-4 のバージョンを検索します。

// Open the registry key for the .NET Framework entry. Dispose this object when done.
RegistryKey ndpKey =
    RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32)
        .OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\");

foreach (string 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.
        string name = versionKey.GetValue("Version", "").ToString();

        // Get the service pack (SP) number.
        string sp = versionKey.GetValue("SP", "").ToString();

        // Get the installation flag.
        string 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 (install == "1")
        {
            // Install = 1 means the version is installed.
            if (!string.IsNullOrEmpty(sp))
                Console.WriteLine($"{versionKeyName}  {name}  SP{sp}");
            else
                Console.WriteLine($"{versionKeyName}  {name}");
        }

        if (!string.IsNullOrEmpty(name))
        {
            versionKey.Dispose();
            continue;
        }

        // Iterate through the subkeys of the version subkey.
        foreach (string subKeyName in versionKey.GetSubKeyNames())
        {
            RegistryKey subKey = versionKey.OpenSubKey(subKeyName);
            name = subKey.GetValue("Version", "").ToString();

            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 (install == "1")
            {
                if (!string.IsNullOrEmpty(sp))
                    Console.WriteLine($"  {subKeyName}  {name}  SP{sp}");
                else
                    Console.WriteLine($"  {subKeyName}  {name}");
            }

            // Clean up the subkey object.
            subKey.Dispose();
        }

        versionKey.Dispose();
    }
}

ndpKey.Dispose();
' Open the registry key for the .NET Framework entry. Dispose this object when done.
Dim 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 = versionKey.GetValue("Version", "").ToString()

        ' 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}")

        ElseIf install = "1" Then

            ' Install = 1 means the version is installed.
            If Not String.IsNullOrEmpty(sp) Then
                Console.WriteLine($"{versionKeyName}  {name}  SP{sp}")
            Else
                Console.WriteLine($"{versionKeyName}  {name}")
            End If

        End If

        If Not String.IsNullOrEmpty(name) Then

            versionKey.Dispose()
            Continue For

        End If

        ' Iterate through the subkeys of the version subkey.
        For Each subKeyName In versionKey.GetSubKeyNames()

            Dim subKey As RegistryKey = versionKey.OpenSubKey(subKeyName)
            name = subKey.GetValue("Version", "").ToString()

            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}")

            ElseIf install = "1" Then

                If Not String.IsNullOrEmpty(sp) Then
                    Console.WriteLine($"  {subKeyName}  {name}  SP{sp}")
                Else
                    Console.WriteLine($"  {subKeyName}  {name}")
                End If

            End If

            ' Clean up the subkey object.
            subKey.Dispose()

        Next

        versionKey.Dispose()

    End If
Next

ndpKey.Dispose()

この例では、次のような出力が表示されます。

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

PowerShell (以前のフレームワーク バージョン) を使用してレジストリにクエリを実行する

次の例では、PowerShell を使用してレジストリの リリース エントリの値を確認し、インストールされている .NET Framework 1-4 のバージョンを見つけます。

Get-ChildItem -Path 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' |
Where-Object { ($_.PSChildName -ne "v4") -and ($_.PSChildName -like 'v*') } |
ForEach-Object {
    $name = $_.Version
    $sp = $_.SP
    $install = $_.Install
    if (-not $install) {
        Write-Host -Object "$($_.PSChildName)  $($name)"
    }
    elseif ($install -eq '1') {
        if (-not $sp) {
            Write-Host -Object "$($_.PSChildName)  $($name)"
        }
        else {
            Write-Host -Object "$($_.PSChildName)  $($name) SP$($sp)"
        }
}
    if (-not $name) {
        $parentName = $_.PSChildName
        Get-ChildItem -LiteralPath $_.PSPath |
        Where-Object {
            if ($_.Property -contains 'Version') { $name = $((Get-ItemProperty -Path "Registry::$_").Version) }
            if ($name -and ($_.Property -contains 'SP')) { $sp = $((Get-ItemProperty -Path "Registry::$_").SP) }
            if ($_.Property -contains 'Install') { $install = $((Get-ItemProperty -Path "Registry::$_").Install) }
            if (-not $install) {
                Write-Host -Object "  $($parentName)  $($name)"
            }
            elseif ($install -eq '1') {
                if (-not $sp) {
                    Write-Host -Object "  $($_.PSChildName)  $($name)"
                }
                else {
                    Write-Host -Object "  $($_.PSChildName)  $($name) SP$($sp)"
                }
            }
        }
    }
}

CLR バージョンの検索

.NET Framework と共にインストールされた .NET Framework CLR は、個別にバージョン管理されます。 .NET Framework CLR のバージョンを検出するには、次の 2 つの方法があります。

Clrver.exe ツール

CLR バージョン ツール (Clrver.exe) を使用して、コンピューターにインストールされている CLR のバージョンを確認します。 Visual Studio 開発者コマンド プロンプトまたは Visual Studio Developer PowerShell を開き、「clrver」と入力します。

サンプル出力:

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

Environment.Version プロパティ

Important

.NET Framework 4.5 以降のバージョンでは、clr のバージョンを検出するために Environment.Version プロパティを使用しないでください。 代わりに、 .NET Framework 4.5 以降のバージョンで説明されているようにレジストリにクエリを実行します。

  1. Environment.Version プロパティに対してクエリを実行して、Version オブジェクトを取得します。

    返された System.Version オブジェクトは、現在コードを実行しているランタイムのバージョンを識別します。 コンピューターにインストールされている可能性があるアセンブリ バージョンやその他のバージョンのランタイムは返されません。

    .NET Framework バージョン 4、4.5、4.5.1、および 4.5.2 の場合、返される Version オブジェクトの文字列表現の形式は 4.0.30319 です。xxxxxxxxxx は 42000 未満です。 .NET Framework 4.6 以降のバージョンでは、4.0.30319.42000 という形式になります。

  2. Version オブジェクトを取得したら、次のようにクエリを実行します。

    • メジャー リリース識別子 (バージョン 4.0 の 場合 は 4 など) には、 Version.Major プロパティを使用します。
    • マイナー リリース識別子 (バージョン 4.0 の場合は 0 など) には、 Version.Minor プロパティを使用します。
    • バージョン文字列全体 ( 4.0.30319.18010 など) には、 Version.ToString メソッドを使用します。 このメソッドは、コードを実行しているランタイムのバージョンを反映する 1 つの値を返します。 アセンブリのバージョンや、コンピューターにインストールされている可能性のあるその他のランタイム バージョンは返されません。

次の例では、 Environment.Version プロパティを使用して CLR バージョン情報を取得します。

Console.WriteLine($"Version: {Environment.Version}");
Console.WriteLine($"Version: {Environment.Version}")

この例では、次のような出力が表示されます。

Version: 4.0.30319.18010

こちらも参照ください