I've designed an application that has various plugins by using the MEF framework to lazy load any implementation of the plugin interfaces in the application directory - pretty standard stuff.
However, I've since developed a plugin which relies on some DLLs from a different application (which installs them into the GAC) - on a computer with these installed the application runs fine but on a computer that doesn't my whole application falls over.
I've done some research about when the runtime searches for DLLs and apparently it does it for each method it encounters. I then attempted to modify the plugin to determine if the necessary DLLs are inside the GAC before proceeding to enter the method which requires them, but this caused the same fall over.
I then commented out all the code in the class apart from a bare constructor and some interface stubs to see if that would work but it caused the same error. Does the .net runtime attempt to load any GAC assemblies immediately?
Has anyone had any experience with this sort of situation? What are my options?
Thanks
Marlon