Fehler: „Der Deserializer hat keine Kenntnis von jeglicher Art, die zu diesem Vertrag abbildet“?
-
05-10-2019 - |
Frage
Ich habe eine Klasse Foo markiert [Serializable]
und Umsetzung ISerializable
. Ich versuche es über DataContractSerializer zu serialisiert. In GetObjectData ich dies tun:
info.AddValue("Test", new[] { 1,2,3});
Es schlägt fehl, mit:
Element ': Test' enthält die Daten des 'http://schemas.microsoft.com/2003/10/Serialization/Arrays:ArrayOfint' Datenvertrages. Der Deserializer hat keine Kenntnis von jeglicher Art, die zu diesem Vertrag abbildet. Fügen Sie den Typ entsprechend ‚ArrayOfint‘ in die Liste der bekannten Typen - z. B. durch das Knowntype Attribut oder durch sie in die Liste der bekannten Typen übergeben DataContractSerializer Hinzufügen
Ich habe versucht, eine knownTypes
arg an den DataContractSerializer Konstruktor - hat nicht geholfen
Lösung
Übergeben eines knownTypes
arg an den DataContractSerializer Konstruktor nicht Hilfe. Stattdessen fügt [KnownType(typeof(int[]))]
Klasse Foo selbst.