1

How can I check if a program that is running on my PC is using .NET Framework 4.6.1?

I can see in the registry that it is installed, but how can I make sure that a specific program is using it?

user829174
  • 6,132
  • 24
  • 75
  • 125
  • you can use [dotpeek](http://www.jetbrains.com/decompiler/) or [Reflector](http://www.red-gate.com/products/reflector/) to look into the .net version – Carbine Feb 15 '16 at 14:05
  • http://stackoverflow.com/a/15128605/1271037 – dovid Feb 15 '16 at 14:14

2 Answers2

3

There is no option to not use it, the 4.6.1 installer replaces any existing .NET 4.x install. Only other framework version the program could be using is an old one, before .NET 4.0. Do keep in mind that the framework version you target is not the same as the one you run with.

Otherwise easy to check with, say, SysInternals' Process Explorer or a debugger. Look at the loaded DLLs. A 4.x process always loads clr.dll, older framework versions did not yet have that DLL, they'd use mscorwks.dll instead.

Hans Passant
  • 922,412
  • 146
  • 1,693
  • 2,536
0

You can try to use Environment.Version() (its worked for me on .NET 3.5) https://msdn.microsoft.com/en-us/library/system.environment.version(v=vs.110).aspx

SYL
  • 337
  • 4
  • 16