.NET - what version of the framework am I currently running in (from C#)

10,910

Solution 1

Use Environment.Version. This has the version number of the CLR currently running your code and is supported on all versions of the CLR.

Documentation

Solution 2

It is important to be careful about asking which version of the framework is running, and which version of the runtime is running, as they can be different. Your title and body ask subtly different questions.

@JaredPar is right on the money with the runtime version.

For framework versions, check out this closely-related post: How to detect what .NET Framework versions and service packs are installed?

Solution 3

  • You can write a simple method for this purpose:

    public static void GetVersion() {   
     Environment.Version.ToString() }
    

The output is your .net version.

  • You can also find the installed versions in the following location:

    C:\WINDOWS\Microsoft.NET\Framework
    
  • If you are using Visual Studio, run Visual Studio commander from the start menu, and enter clrver , and it gives you the running version.

  • And for sure, you can always check your registry for that:

    HKEY_LOCAL_MACHINE \ software \ Microsoft \ Net Framework \
    
Share:
10,910
BuddyJoe
Author by

BuddyJoe

I like to code C# and work with the web. Still learning.

Updated on June 11, 2022

Comments

  • BuddyJoe
    BuddyJoe almost 2 years

    Using C#, what is the best way to ask the .NET Runtime which version you are running under?

  • NiKiZe
    NiKiZe about 2 years
    The latest installed version might not be the same as the current assembly is running under. Getting the current executing framework version should be easier than checking for installed versions. (but lack of answers in that regard points to that not being the case)