2009-05-15 10 views
4

Ich verwende MEF. Ich serialisiere eines der Objekte, das auf einer der geladenen Baugruppen beruht.Deserialisierungsfehler in MEF aufgrund fehlender Baugruppen

Wenn ich jetzt versuche, dieses Objekt zu deserialisieren, löst es die Ausnahme "Unable to find assembly" aus. MEF lädt die Assemblies vor dieser Deserialisierung in einer anderen Klasse (Ich nehme an, dass der Anwendungsbereich davon anwendungsweit ist, lädt sie in eine öffentliche Eigenschaft).

Da MEF diese Baugruppen bereits in die Anwendungsdomäne geladen hat, warum BinaryFormatter.Deserialize() kann sie nicht finden?

Ich kann System.Reflection.Assembly.Load verwenden, aber was ist der Sinn der Verwendung von MEF? Hat MEF dafür besondere Unterstützung bekommen?

Antwort

1

Für jetzt assembly probing hat den Trick gemacht, obwohl ich immer noch nicht sicher bin, ob dies die besten Praktiken ist, weil ich immer noch MEF hier umgeht, was nicht gut ist.

Ich teste immer noch, um zu sehen, ob es einen Nebeneffekt oder etwas ähnliches gibt. Offensichtlicher Nachteil von diesen, dass ich dieselben DLLs zweimal laden muss

Verwandte Themen