Entwickler-Ecke
Basistechnologien - Probleme mit Deserialisierung
jholzer - Di 28.09.10 09:15
Titel: Probleme mit Deserialisierung
Hi!
In einem alten Projekt habe ich eine Reihe von Datenkontainer-Klassen, die über den BinaryFormatter serialisiert wurden. Das Ganze ist in der Haupt-Assembly (exe) untergebracht.
Es wurde nun notwendig, diese Datenkontainer in eine DLL auszulagern.
Jetzt habe ich das Problem, dass die gespeicherten Daten nicht mehr deserialisiert werden können.
Scheinbar ist es so, dass einige Datentypen, die ursprünglich in der exe definiert wurden, nicht mehr gefunden werden. Ich habe daraufhin einen eigenen Binder gebaut, der die Assembly- und Type-Namen auf die neue DLL umbiegt. Mit "normalen" Typen funktioniert das jetzt auch, jedoch können Dictionaries und Listen, die wiederum eigene Datentypen verwenden, nicht deserialisiert werden.
Bei Deserialisierungen bekomme ich einen Exception "Aufruf fehlgeschlagen".
Das Deserialisieren mit der alten Assembly geht problemlos, nur eben mit der neuen nicht.
Gibt es eine Möglichkeit, den BinaryFormatter so hinzubiegen, dass er die Daten die mit der alten Assembly geschrieben wurden mit der neuen lesen kann?
Danke schon mal für die Hilfe!
J.
IsNull - Mi 29.09.10 10:23
Diese eigenen Typen/Klassen sind aber in der DLL schon sichtbar? Du kannst natürlich nicht etwas deserialisieren, was die DLL nicht kennt.
Was meint die SerializationException konkret? Gibts na nicht etwas mehr Details, InnerException usw?
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!