Damit eine .NET-Anwendung ausgeführt werden kann, ist es notwendig, die CLR in den Speicher zu laden und die .NET-Anwendung zur Ausführung an die CLR zu übergeben. Dies ist die Aufgabe eines .NET Runtime Hosts (alias Application Domain Host). Für jeden Typ von .NET-Anwendungen muss es einen Runtime Host geben. Jeder Runtime Host besitzt am Anfang einen Teil Unmanaged Code, der Stub genannt wird.