Starting a CLR Program
An executable CLR program contains at least three components:
The user-defined assembly with an entry point
The execution system, found in either mscorsvr.dll or mscorwks.dll
The basic type system, found in mscorlib.dll
Whenever a CLR program starts, the runtime environment must start, too. One of the first instructions within any CLR executable achieves this task by calling either _CorExeMain or _CorDllMain, both of which are found in mscoree.dll. As its name suggests, mscoree.dll is the initial part of the execution engine. If an executable serves as a program's entry point, then _CorExeMain is called; if it does not, then _CorDllMain is called. Naturally, mscoree.dll is an unmanaged executable, as it needs to interact ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access