I needed to find the version of .NET framework required for a vendor provided application in short order; there was no documentation (of course), the vendor was not available and the super user was not available.
Your typical support scenario.
When you try to run a .NET EXE on a computer that does not have the framework, your application informs you with a prompt along the lines of 'The Application Requires .NET framework version x.x'
If you have the framework installed, it does not prompt you (of course).
I figured it should be as easy as right clicking the EXE and selecting properties or something similar, but no.
The easiest way I found was by using the MSIL Disassembler ildasm.exe
If you have installed the 2.0 SDK you can find ILDASM.exe in this location
c:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\ildasm.exe
The steps to get the .NET framework version are as follows:
1) Execute ILDASM.EXE from the SDK folder noted above
2) In ILDASM select the File | Open menu
3) Select the EXE or DLL you want to disassemble
ILDASM will now show you the file you selected in #3. You will want to double click the MANIFEST and it will load the manifest in a notepad-like editor.
The top line will read //Medata version: vX.X.XXXX
Where the X.X.XXXX is your .NET framework version.
See the image below