Check your .NET Framework version in Windows Settings

The fastest way to see what you have installed is through Windows Settings. Open Settings, go to Apps, then Apps & features. Scroll down and look for entries that say ".NET Framework" followed by a version number — you may see multiple versions listed, which is normal. Each version can coexist on the same machine.

This method shows you what is actually installed but does not tell you which version a specific program is using. If you need to know what a particular process requires, you will need to check differently.

Key Takeaways

  • Windows Settings under Apps & features lists every .NET Framework version you have installed on your computer.
  • The Registry Editor can show you the exact version number including minor updates, which Settings sometimes abbreviates.
  • Command line tools like PowerShell or the .NET CLI tell you which version a specific program is built to use.
  • Different programs on the same computer can use different .NET Framework versions without conflict.

Use the Registry Editor for the complete version number

Windows Settings shows you that .NET Framework 4.8 is installed, but the Registry Editor shows you the exact build number. Press Windows key + R, type regedit, and press Enter. Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP.

Look for folders named v2.0.50727, v3.0, v3.5, v4.0, or v4.30319 — these correspond to different major versions. Click on each one and look at the Version entry in the right panel. The value shown is the exact version installed. For .NET Framework 4.5 and later, also check the Release entry, which is a number that maps to a specific update level.

The Registry method takes longer but gives you precision that matters if you are troubleshooting a program that requires a specific update. Write down the Release number if you see one — support pages often ask for it.

Check what version a program needs using PowerShell

If you want to know what .NET Framework version a specific process was built for, PowerShell can read that from the program file itself. Open PowerShell as Administrator (right-click the PowerShell icon and select Run as administrator). Type this command:

Get-Item "C:\path\to\program.exe" | ForEach-Object {[System.Diagnostics.FileVersionInfo]::GetVersionInfo($_).ProductVersion}

Replace C:\path\to\program.exe with the actual location of the program you want to check. The output shows the version the program was compiled against. This is useful when a program is not running correctly and you suspect a version mismatch.

Use the .NET CLI if you have .NET Core or .NET 5 and later

If your computer has the newer .NET (versions 5, 6, 7, 8, or later — sometimes called .NET Core), you can check what you have installed by opening Command Prompt or PowerShell and typing:

dotnet --version

This shows only the latest version of .NET you have installed. To see all versions, type:

dotnet --list-sdks

and

dotnet --list-runtimes

The difference matters: an SDK is what developers use to build programs, while a runtime is what computers need to run those programs. Most users only need the runtime, but both can be installed.

Understand the difference between .NET Framework and .NET

Windows Settings and the Registry show you .NET Framework, which is the older system that has been part of Windows for nearly two decades. The newer .NET (starting with version 5) is a separate, cross-platform system that you install independently.

A program built for .NET Framework 4.8 will not run on .NET 6, and vice versa. They are different products. Most Windows programs still use .NET Framework, but newer applications increasingly use the newer .NET. Your computer can have both installed without problems — they do not interfere with each other.

What to do if a program says it needs a version you do not have

If a program tells you that you need .NET Framework 4.7.2 or later and you only have 4.6.2, you need to install the newer version. Go to the Microsoft read Center and search for ".NET Framework" — Microsoft publishes installers for each version. read the version the program needs and run the installer.

Installation usually takes a few minutes and may require a restart. After restarting, the program should recognize the new version. If it still does not work, check that the installation completed by going back to Settings and confirming the new version appears in the Apps & features list.

For newer .NET versions (5 and later), go to dotnet.microsoft.com/read and read the runtime for the version you need. The process is the same: read, install, restart if prompted, and verify in the Apps & features list.

Frequently Asked Questions

Can I have multiple versions of .NET Framework installed at the same time?

Yes. .NET Framework versions are designed to coexist. You can have 4.6.2, 4.7.2, and 4.8 all installed on the same computer, and different programs will use whichever version they were built for. This is different from many other software where you can only have one version.

Why does Windows Settings show .NET Framework but not .NET 6?

Windows Settings lists .NET Framework because it is a Windows system component. The newer .NET (5 and later) is installed separately and appears in the Apps & features list under a different name — look for ".NET Runtime" or ".NET SDK" depending on what you installed. Use the dotnet command line to check these versions instead.

What does the Release number in the Registry mean?

The Release number is a code that maps to a specific update level of .NET Framework. For example, Release 394802 means .NET Framework 4.8.1. Microsoft publishes a table matching Release numbers to version names on their documentation site. If a program requires a specific Release number, you can use this table to confirm you have at least that update.

Do I need to uninstall old versions of .NET Framework?

No. Older versions do not slow down your computer or cause problems. They only take up disk space — usually less than 100 MB each. Leave them installed unless you are extremely low on storage. Removing them can break programs that depend on them.