我一直在尝试将程序集动态加载到AppDomain。我需要这样做,因为我想动态调用一个方法,但是在我的应用程序运行时不要保留DLL的句柄,以便在需要时可以替换它。但是我收到了这个SerializationException异常:没有为成员“...”解析类型
这是我的代码:
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);
}
答案 0 :(得分:30)
答案:类型必须扩展MarshalByRefObject
。