Hi guys,<br><br>Im looking at Mono Ninject2 compatibility and Ive come across a problem. Nate has a bunch of tests to check his dispose code (example below). For this purpose we need a way to force disposing of unused objects. Currently the tests use GC.Collect() for that, however on mono that doesnt necessarily mean that unused objects are disposed of. Is there a way to force the GC to dispose of all unused objects?<br>
<br>Regards, Bas<br><br><br>Here is an example of such a (xunit) test:<br><br>[Fact]<br>public void InstancesActivatedWithinScopeAreDeactivatedAfterThreadIsGarbageCollectedAndCacheIsPruned()<br>{<br>    kernel.Bind&lt;NotifiesWhenDisposed&gt;().ToSelf().InThreadScope();<br>
    var cache = kernel.Components.Get&lt;ICache&gt;();<br><br>    NotifiesWhenDisposed instance = null;<br><br>    ThreadStart callback = () =&gt; instance = kernel.Get&lt;NotifiesWhenDisposed&gt;();<br><br>    var thread = new Thread(callback);<br>
<br>    thread.Start();<br>    thread.Join();<br><br>    thread = null;<br><br>    GC.Collect();<br>    GC.WaitForPendingFinalizers();<br><br>    cache.Prune();<br><br>    instance.ShouldNotBeNull();<br>    instance.IsDisposed.ShouldBeTrue();<br>
}<br>