Il codice di test che utilizza WeakReference non è riuscito a utilizzare Mono 2.11.3 (SGen) e la versione stabile 2.10.8. In un codice semplice come questostrano comportamento di WeakReference su Mono
object obj = new object();
WeakReference wr = new WeakReference(obj);
Assert.IsTrue(wr.IsAlive);
obj = null;
GC.Collect();
Assert.IsFalse(wr.IsAlive);
la seconda affermazione avrà esito negativo. L'aggiunta di GC.WaitForPendingFinalizers non aiuta. È un bug in Mono o nella mia testa? Grazie
Se si tratta di un bug in la tua testa è possibile eseguire il debug remoto allegando PsychicDbg, ma terminare la sessione potrebbe rivelarsi fatale. – Polyfun
Rilevante: [GC.Collect \ (\) CLR <> Mono difference.] (Http://mono.1490590.n4.nabble.com/GC-Collect-CLR-lt-gt-Mono-difference-td1536244.html) Perdo la comprensione dei 2/3 della discesa :) – AakashM