Bei der JIT-Kompilierung ist eine Instanziierung mit einem Objektverweistyp nur repräsentativ, weil der resultierende Code gemeinsam genutzt wird, und jede der Objektverweistyp-Variablen kann ein beliebiger Objektverweistyp sein. Dies kann die Vorbereitung einiger Laufzeitressourcen im Voraus verhindern.
Insbesondere gilt, dass die Zuordnung von Ressourcen durch Methoden mit generischen Typvariablen träge im Hintergrund erfolgen kann. Diese werden als generische Wörterbucheinträge bezeichnet. So muss die Laufzeit beispielsweise für die Anweisung List<T> list = new List<T>(); (wobei T eine generische Typvariable ist) die genaue Instanziierung zur Laufzeit suchen und möglicherweise erstellen, z. B. List<Object>, List<String> usw. Dies kann aus verschiedenen Gründen fehlschlagen, die bei der Entwicklung nicht beeinflusst werden können, z. B., weil nicht genügend Speicherplatz verfügbar ist.
Dieser MDA sollte nur bei der JIT-Kompilierung aktiviert werden, nicht jedoch, wenn eine genaue Instanziierung vorhanden ist.
Wenn dieser MDA aktiviert wird, werden Sie als Symptom wahrscheinlich bemerken, dass CERs nicht funktionieren, weil fehlerhafte Instanziierungen vorliegen. Die Laufzeit hat unter den Bedingungen, aufgrund derer der MDA aktiviert wurde, tatsächlich nicht versucht, eine CER zu implementieren. Wenn ein Entwickler also eine gemeinsam genutzte Instanziierung der CER verwendet, werden Fehler bei der JIT-Kompilierung, Fehler beim Laden von generischen Typen und Threadabbrüche im Bereich der vorgesehenen CER nicht abgefangen.