Bugs item #1325875, was opened at 2005-10-13 14:27 Message generated for change (Comment added) made by pmcevoy You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=402868&aid=1325875&group_id=31650
Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Tasks Group: 0.85 Status: Open Resolution: None Priority: 5 Submitted By: Peter McEvoy (pmcevoy) Assigned to: Nobody/Anonymous (nobody) Summary: TargetInvocationException using NUnit2 task Initial Comment: Hi Everyone, Windows 2000, .Net 1.1, nant-0.85-nightly-2005-10-11, nunit2.2 I'm getting a TargetInvocationException when using nant to run NUnit2 tasks against assemblies that contain J# code. I believe that the cause is due to http://support.microsoft.com/?kbid=830297 in that when an appdomain with J# code is unloaded, stdout gets closed, which Nant then tries to write log messages to. I have attached a simple solution that demonstrates the problem when executed with the nunit2 task (build the solution, then execute the tests using nant and the included nant.build). I have also attached a "fix" to NUnit2TestDomain.cs which allows nant to continue and run all tests - although I have no doubt that the nant devs will have a much more elegant solution than my paltry attempt ;-) I hope that this (or better) solution can be applied to the source tree, as I really don't want to be working from my own personal forked version of the nant code... Sincerely Pete Addendum: I wanted to attach two files, but it does'nt look like I can on SF... here are the changes I made to NUnit2TestDomain.cs: public void Unload() { if (_domain != null) { try { AppDomain.Unload(_domain); //Due to bug http://support.microsoft.com/?kbid=830297, any assemblies containing //J# code referenced in the unit test will cause stdout to get closed when the AppDomain //is unloaded - this code just reopens stdout and allows nant to continue StreamWriter standardOutput = new StreamWriter(Console.OpenStandardOutput()); standardOutput.AutoFlush = true; Console.SetOut(standardOutput); } catch (CannotUnloadAppDomainException) { // ignore exceptions during unload, this matches the // behaviour of the NUnit TestDomain } finally { _domain = null; } } } ---------------------------------------------------------------------- >Comment By: Peter McEvoy (pmcevoy) Date: 2005-10-13 14:29 Message: Logged In: YES user_id=36439 Ah... it seems you can add a second file via the comments... ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=402868&aid=1325875&group_id=31650 ------------------------------------------------------- This SF.Net email is sponsored by: Power Architecture Resource Center: Free content, downloads, discussions, and more. http://solutions.newsforge.com/ibmarch.tmpl _______________________________________________ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers