Vermeiden von Ausnahmen beim Herunterfahren der CLR, wenn mit /clr erstellte COM-Objekte verwendet werden
Sobald die Common Language Runtime (CLR) in den Herunterfahrenmodus wechselt, haben systemeigene Funktionen eingeschränkten Zugriff auf CLR-Dienste. Beim Versuch, Release für ein mit /clr kompiliertes COM-Objekt aufzurufen, wechselt die CLR zu systemeigenem Code und wechselt dann zurück in verwalteten Code, um den IUnknown::Release-Aufruf zu verwenden (der in verwaltetem Code definiert ist). Die CLR verhindert den Rückruf in verwalteten Code, da er sich im Herunterfahrenmodus befindet.
Um dies zu beheben, stellen Sie sicher, dass destruktoren, die von Releasemethoden aufgerufen werden, nur systemeigenen Code enthalten.