5

I have a third-party program installed, and I want to find out what version of the .NET framework it is using.

How do I figure that out?

1
  • Programatically? or is using a utility for it ok? Commented Sep 30, 2010 at 15:27

6 Answers 6

6

Start up the Visual Studio 2008 Command Prompt, go to the folder your assembly is in, type corflags.exe assemblyName.dll, and you should get the following information back.

Version   : v4.0.30319
CLR Header: 2.5
PE        : PE32
CorFlags  : 1
ILONLY    : 1
32BIT     : 0
Signed    : 0
Sign up to request clarification or add additional context in comments.

2 Comments

What do I do on a client machine that does not have visual studio installed?
Raj, CorFlags.exe is part of the Windows SDK can be found here C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\x64\corflags.exe, I am unsure what dependcies it has but you could try running it as individual .exe on the client machine
2

I believe you can do that using ILDasm or .NET Reflector.

Open Visual Studio command prompt... Run ILDasm

If you open the Manifest, you should be able to get the .ver, and mscorlib's version should be target version. For ex. the following DLL is using 4.0

// Metadata version: v4.0.30319 .assembly extern mscorlib { .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. .ver 4:0:0:0 }

Comments

2

You can definitely get it from .NET Reflector. (See the screenshot below - the last thing listed is the Target Runtime.)

Alt text

1 Comment

Oops. I see someone else suggested this. I'm voting that person up because they answered first, but I'll leave my answer for the screenshot, because I'm hoping it will save time and be helpful.
1

Load ILDASM and import your DLL. Double click on the 'Manifest' and it will display the framework version.

Comments

0

If using a utility is OK, I would recommend Process Explorer from SysInternals.

Comments

0

I found How to identify the framework version a DLL is using. It might mean writing a small secondary program to perform the action.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.