Éviter des exceptions à l'arrêt du CLR lors de l'utilisation d'objets COM générés avec /clr
Une fois que le Common Language Runtime (CLR) entre en mode d’arrêt, les fonctions natives ont un accès limité aux services CLR. Lorsque vous tentez d’appeler Release sur un objet COM compilé avec /clr, le CLR passe au code natif, puis revient en code managé pour traiter l’appel IUnknown ::Release (qui est défini dans le code managé). Le CLR empêche le rappel dans le code managé, car il est en mode arrêt.
Pour résoudre ce problème, assurez-vous que les destructeurs appelés à partir des méthodes Release contiennent uniquement du code natif.