private void RunAssemblyTearDown(TestAssembly testAssembly) { if (testAssembly.AssemblyTearDown == null) { return; } Result result = new Result(testAssembly.AssemblyTearDown.Name); System.Runtime.CompilerServices.RuntimeHelpers.PrepareConstrainedRegions(); try { result.Start(); testAssembly.AssemblyTearDown.Invoke(null, null); result.Success(); } catch (Exception ex) { Exception current = ex; if (current is TargetInvocationException) { current = current.InnerException; } if (current is QuickGraph.Unit.Exceptions.IgnoreException) { result.Ignore(); } else { result.Fail(current); } } this.TestListeners.AssemblyTearDown(result); }