2012-12-05 41 views
14

Tôi đã cố gắng tải động một assembly vào một AppDomain. Tôi cần phải làm điều đó bởi vì tôi muốn gọi một phương pháp động, nhưng không giữ cho xử lý để DLL trong khi ứng dụng của tôi đang chạy, để nó có thể được thay thế, nếu cần thiết. Nhưng tôi nhận được ngoại lệ SerializationException này: Loại không được giải quyết cho thành viên "..."SerializationException: Loại không được giải quyết cho thành viên "..."

Dưới đây là mã của tôi:

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); 
} 
+3

Sử dụng Fuslogvw.exe để tìm hiểu lý do tại sao nó không thể tìm thấy lắp ráp với loại thành viên đó. –

Trả lời

28

Trả lời: Các loại đã phải mở rộng MarshalByRefObject.

Các vấn đề liên quan