From: Ian M. <ia...@us...> - 2004-07-27 15:21:21
|
Update of /cvsroot/nant/nant/src/NAnt.MSNet/Tasks In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15264/src/NAnt.MSNet/Tasks Modified Files: ScriptTask.cs Log Message: Hook our AssemblyResolver for the duration of the NAnt run. Fixes issue with external assembly references and the scriptTask. Index: ScriptTask.cs =================================================================== RCS file: /cvsroot/nant/nant/src/NAnt.MSNet/Tasks/ScriptTask.cs,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** ScriptTask.cs 21 Jul 2004 18:59:25 -0000 1.7 --- ScriptTask.cs 27 Jul 2004 15:21:12 -0000 1.8 *************** *** 304,307 **** --- 304,313 ---- TypeFactory.AddFilters(compiled); + // load the referenced assemblies explicitly. + foreach (string assemblyName in References.FileNames) { + Console.WriteLine("loading assembly {0}", assemblyName ); + Assembly.LoadFrom(assemblyName); + } + string mainClass = _rootClassName; if (!StringUtils.IsNullOrEmpty(MainClass)) { *************** *** 337,349 **** throw new BuildException("Invalid entry point declaration (invalid parameter type, Project expected).", Location); } ! ! AssemblyResolver assemblyResolver = new AssemblyResolver(); ! ! try { ! // attach to domain ! assemblyResolver.Attach(); ! ! // invoke Main method ! entry.Invoke(null, new object[] {Project}); // } catch (Exception ex) { // this exception is not likely to tell us much, BUT the --- 343,349 ---- throw new BuildException("Invalid entry point declaration (invalid parameter type, Project expected).", Location); } ! ! // invoke Main method ! entry.Invoke(null, new object[] {Project}); // } catch (Exception ex) { // this exception is not likely to tell us much, BUT the *************** *** 351,358 **** // thrown by the executed script code. // throw new BuildException("Failure executing script.", Location, ex.InnerException); - } finally { - // detach from domain - assemblyResolver.Detach(); - } } --- 351,354 ---- |