Erreur JSON .Net Windows Mobile lors de la sérialisation

Je lance ce morceau de code:

ssortingng serialized = JsonConvert.SerializeObject(somethingToSend); 

Et il jette cette exception:

MissingMethodException: impossible de charger le type ‘System.Runtime.Serialization.StreamingContext’ depuis l’assembly ‘mscorlib, version = 3.5.0.0, Culture = neutre, PublicKeyToken = 969DB8053D3322AC’.

Voici ma configuration:

  • Visual Studio 2008 (avec tous les derniers service packs, etc.)
  • Projet Smart Device ciblant Windows Mobile 6 .Net 3.5
  • Json DotNet version 4.5 édition 7 (référençant la DLL du dossier Windows Phone dans le zip)

La réponse à cette question ” Existe-t-il une bibliothèque pour lire JSON en C # sous Windows Mobile? ” Implique que cela devrait fonctionner.

Je l’exécute en débogage avec le périphérique réel connecté (donc pas d’émulateur) où j’ai déjà installé le fichier CAB à partir d’ici sans erreur:

C: \ Program Files (x86) \ Microsoft.NET \ SDK \ CompactFramework \ v3.5 \ WindowsCE \ NETCFv35.wce.armv4.cab

L’application fonctionne correctement jusqu’à ce que je clique sur le bouton qui exécute la ligne ci-dessus. Quelqu’un sait-il donc ce qui me manque?

Ce fil de discussion ” Json.Compact.dll pour Windows CE 5.0? ” Suggère que le SDK de Windows doit être installé, ce que j’ai. Étant donné qu’il fonctionne sur le périphérique lui-même, je suppose que ce ne sera pas la solution de toute façon.

L’autre suggestion est de construire à partir des sources mais, à l’instar de l’auteur de la question, je ne peux pas charger le fichier de projet dans VS 2008 pour le faire. Je pouvais créer un nouveau projet et inclure les fichiers source et essayer de le comstackr, mais avant cela, je pensais pouvoir demander ici si cela en valait la peine ou s’il manquait quelque chose dans l’installation sur le périphérique? Ou peut-être que je devrais utiliser une version alternative?

Il me fallait donc RTFM! Le fichier lisez-moi dit:

Microsoft a arrêté la prise en charge de Compact Framework dans Visual Studio 2010. Pour une compilation de Compact Framework 3.5, téléchargez Json.NET 3.5.

J’ai donc saisi la version 3.5 la plus récente, à savoir: Json.NET 3.5 Release 8 , mis à jour ma référence pour qu’elle pointe vers l’assembly Newtonsoft.Json.Compact.dll , l’ Newtonsoft.Json.Compact.dll et tout fonctionnait Newtonsoft.Json.Compact.dll .