Le code de test qui utilise WeakReference a échoué pour moi en utilisant Mono 2.11.3 (SGen) ainsi que la version stable 2.10.8. Dans un code simple comme ceciétrange comportement WeakReference sur Mono
object obj = new object();
WeakReference wr = new WeakReference(obj);
Assert.IsTrue(wr.IsAlive);
obj = null;
GC.Collect();
Assert.IsFalse(wr.IsAlive);
la seconde assertion échouera. L'ajout de GC.WaitForPendingFinalizers n'aide pas. Est-ce un bug dans Mono ou dans ma tête? Merci
Si ce bogue dans votre tête, vous pouvez déboguer à distance en attachant PsychicDbg, mais la fin de la session peut s'avérer fatale. – Polyfun
Pertinent: [GC.Collect \ (\) CLR <> Mono différence.] (Http://mono.1490590.n4.nabble.com/GC-Collect-CLR-lt-gt-Mono-difference-td1536244.html) Je perds la compréhension à environ 2/3 de la descente :) – AakashM