Have you ever think how your assembly file know about what .Net framework/CLR version its requires to run/execute?
Here’s a quick tip to check -
Open your assembly file with ILDASM.exe tool.
This utility shipped with Visual Studio and can be found here -
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Visual Studio 2010\Microsoft Windows SDK Tools\
Run the ILDASM.exe and browse your assembly. Now you’ll see something like below
Double click on the Manifest node you’ll see code like below. The comment on the top will show you the supported CLR version of the assembly.
Text version -
// Metadata version: v4.0.30319
.assembly extern mscorlib
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..