16

I've been trying to dynamically load an assembly to an AppDomain. I need to do it because I want to call a method dynamically, but don't keep the handle to the DLL while my app is running, so that it can be replaced, if needed. But I'm getting this SerializationException exception: Type is not resolved for member "..."

Here's my code:

AppDomain domain = AppDomain.CreateDomain("Temp AppDomain", null, AppDomain.CurrentDomain.SetupInformation);
try {
    object obj = domain.CreateInstanceFromAndUnwrap(dllPath, typeName);
    IMyInterface myObj = (IMyInterface) obj;
    result = myObj.MyMethod(something);
} 
finally {
    AppDomain.Unload(domain);
}
Jared Harley
  • 8,219
  • 4
  • 39
  • 48
gsb
  • 1,219
  • 1
  • 16
  • 31

1 Answers1

35

Answer: The type had to extend MarshalByRefObject.

Luke Puplett
  • 42,091
  • 47
  • 181
  • 266
gsb
  • 1,219
  • 1
  • 16
  • 31