1. .NET could be identified by import which you can see using dependency warker - check if there is an import of [``mscorlib.dll``][1] which is a core lib of .net framework. 
 2. C++ can be identified by 
 3. looking at the assembly - it uses [this call convention][2].
 4. [PEid][3] can show partial info about what compiler and run-time were used. In general it uses list of signature for that.
 5. [Detect It Easy][4] - this tool is still maintained and has pretty interesting features.


 [1]: http://www.danielmoth.com/Blog/mscorlibdll.aspx
 [2]: http://en.wikipedia.org/wiki/X86_calling_conventions
 [3]: http://tuts4you.com/download.php?view.398
 [4]: http://ntinfo.biz/index.html