2012-12-05 10 views
14

Próbowałem dynamicznie załadować zespół do AppDomain. Muszę to zrobić, ponieważ chcę dynamicznie wywoływać metodę, ale nie utrzymuj uchwytu do biblioteki DLL, gdy moja aplikacja jest uruchomiona, aby w razie potrzeby można ją było zastąpić. Ale ja dostaję ten wyjątek SerializationException: Typ nie został rozwiązany za członka „...”SerializationException: Typ nie został rozstrzygnięty dla elementu "..."

Oto mój kod:

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

Użyj narzędzia Fuslogvw.exe, aby dowiedzieć się, dlaczego nie można znaleźć zespołu z typem tego elementu. –

Odpowiedz

28

Odpowiedź: Typ musiał przedłużyć MarshalByRefObject.

Powiązane problemy