Executable files created through managed framework like .Net have .exe
extension whereas application created through languages like C++ also has .exe
extension. How does the OS knows whether to run the application through managed framework like .Net or directly ?
1 Answer
The COM Descriptor Data Directory (DD 14) is used to lookup the COR20 structure. This is how you can tell the difference between a managed executable and a native executable.
See this question for more information. Also see this introduction to the dotnet file format for an overview.