Hi,
So I've partitioned my app into multiple app domains. Everything works fine If I use the objects through interfaces (defined in a shared dll). In other words, an assembly in one domain is not loaded up into the other domain when calling the object. Interfaces provide an extra level of indirection. Using an object directly will cause that assembly to be loaded into the calling domain which defeats the whole purpose of the secondary domain.
Now, all was working fine until I decided to use a delegate. I have a key binding system going on, where you can bind a keyboard button to a method (ie. 'W' is Camera::MoveFoward). The problem (I think) is that delegates actually compile to classes under the hood and guess what...you're now using an object directly, therefore the assembly is going to be loaded into the calling domain.
If this is indeed the problem, is there a solution or have I hit a language barrier
Regards.

AppDomains and delegates: the hidden quirk!
Justin Chase
Please consider using a shim dll for delegate as explained in the remoting blog
http://blogs.msdn.com/dotnetremoting/archive/2006/04/07/571020.aspx
I hope this works.