4

Ich schreibe eine Bibliothek, die eine Gruppe von Klassen ist, die für die gemeinsame Nutzung vieler verschiedener .NET-Anwendungen bestimmt sind, einschließlich mindestens einer, die das .NET-Kompakt-Framework verwendet. Ich mache diese Klassen verwenden das Attribut [DataContract] mit einer Reihe von [DataMember] s, so dass sie einfach mit dem DataContractJSONSerializer Serialisierung und Deserialisierung sind. Ich habe im Web gesucht, um herauszufinden, ob diese Funktionalität (DataContractAttribute, DataMemberAttribute und DataContractJsonSerializer) in .NET Compact Framework 3.5 unterstützt wird, aber ich hatte nicht einmal Glück, eine vollständige Liste der unterstützten Klassen in der .NET FrameworkUnterstützt das kompakte Framework 3.5 System.Runtime.Serialization?

Kennt jemand das Ausmaß der Unterstützung für diese Funktionen?

+0

Versuchen Sie kopieren, was Sie brauchen, von Mono, https://github.com/mono/mono/tree/master/mcs/class Manchmal hilft es sehr –

Antwort

0

Ich glaube, dass System.Runtime.Serialization Namespace in .NET 3.5 CE existiert. Hier ist die vollständige Nummer list of namespaces, aber es sieht so aus, als ob alle Funktionen, die Sie interessieren, nicht darin unterstützt werden.

Wie ich verstanden habe, versuchen Sie, einige Entitäten Bibliothek zu erstellen, die serialisiert werden können. Ich denke, Sie müssen einen anderen Ansatz für Ihre. NET-CE-Anwendung haben. Sagen Sie eine andere Bibliothek (oder denselben Code, aber für ce kompiliert, wenn die Anweisungen definiert sind). Dann müssten Sie eine externe Bibliothek für die json-Serialisierung verwenden (wenn Sie es noch benötigen).

Denken Sie auch darüber nach, einen anderen Serialisierungsmechanismus anstelle von DataContractJsonSerializer zu verwenden. Beginnen Sie mit another good question here at SO.

Wenn Sie versuchen, mit einigen Diensten zu arbeiten, gibt es post auf msdn Forum, wo ähnliches Problem diskutiert. Was sie vorschlagen, ist eine mittlere Ebene.

Egal was auch immer Sie mit .NET 3.5 CE tun wird hart wie, ehrlich gesagt, es ist eine veraltete Technologie.