Dear all, I've been trying to crack this one over the last couple of weeks and have not found a good solution yet; hopefully I can get an answer here.
I have two assemblies (ZA & ZB), both of which point to a common project/dll (ZC) but which could be on a different version (i.e. same dll name, same namespaces, some classes may be different). Each assembly works by itself, however, if one is loaded by the other at runtime (e.g. A loads B), then I cannot get it to work. Need some help.
Here's the setup: ZA depends on ZC (common) version 1.1 ZB depends on ZC version 1.0
ZA needs to load needs to load something in ZB (which depends on ZC), at runtime.
ZA is the master app. Under its bin directory, there's a plugins directory plugins/plugin-ZB under which I would like to place all of ZB and its dependencies (ZC).
Here's what I've tried so far: Assembly.Load() using same version of dll - worked fine.
Assembly.Load() using different versions of dll - ZB loads, but when the method runs, I get a method not found exception.
AppDomain.Load() got a file not found error; I even used the delegate to resolve assemblies.
Some details regarding ZC: - some methods are public static (some are not). E.g. Log.Log("hello"); - some may return values (primitives or objects). - some methods are non static (and return values).
Help? - TIA