Okay, my initial implementation needed a little work, but is now running
much smoother. Here are a few notes that people should consider when calling
into nant or changing how this works.

NOTE: Draco devs, this probably will affect you for the next release.

There is a new entry point class in NAnt.Console (nant.exe). This class is
called ConsoleStub. It loads "NAnt.Core" by name, then calls the static
"SourceForge.NAnt.ConsoleDriver" Main method using a CrossAppDomainDelegate
callback via a helper object.

This means.
1.) The stub (nant.exe) is not replacable when running, but all other
assemblies loaded from "." are
2.) We load nant.core by name, so the name matters. This loader stub will
fail if the assembly is renamed.
3.) We call the main method and get the type by name using reflection. The
name matters here too. If you rename ConsoleDriver or the method, make sure
to update ConsoleStub
4.) First a cache path of "nant.exe/./cache" is tried, if createdirectory
fails then the framework will do its magic
5.) There is a config to allow cleanup if wanted. The cache folder will then
be deleted after the domain is uloaded.

If anyone has any questions, please let me know.



-------------------------------------------------------
This SF.NET email is sponsored by: Thawte.com
Understand how to protect your customers personal information by implementing
SSL on your Apache Web Server. Click here to get our FREE Thawte Apache 
Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en
_______________________________________________
Nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers

Reply via email to