2012-07-02 16 views
6

estoy corriendo este fragmento de código:error JSON .Net Windows Mobile al serializar

string serialized = JsonConvert.SerializeObject(somethingToSend); 

Y emite esta excepción:

MissingMethodException: Could not load type 'System.Runtime.Serialization.StreamingContext' from assembly 'mscorlib, Version=3.5.0.0, Culture=neutral, PublicKeyToken=969DB8053D3322AC'.

Aquí está mi configuración:

  • Visual Studio 2008 (con todos los últimos service packs, etc.)
  • Smart Device projec t la orientación de Windows Mobile 6 .Net 3.5
  • Json DotNet versión 4.5 Release 7 (referencia a la DLL de la carpeta de Windows Phone en el zip)

La respuesta a esta pregunta "Is there a library to read JSON in C# on Windows Mobile?" implica que se debe trabajar.

estoy corriendo en la depuración con el dispositivo real adjunta (por lo que no emulador) donde anteriormente he instalado el archivo CAB de aquí sin error:

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

La aplicación se ejecuta muy bien hasta que haga clic en el botón que está corriendo la línea de arriba, ¿alguien sabe lo que me estoy perdiendo?

Este hilo "Json.Compact.dll for Windows CE 5.0?" sugiere que necesitaría instalar el SDK de Windows, que tengo. Dado que se está ejecutando en el dispositivo en sí, supongo que no será la solución de todos modos.

La otra sugerencia es compilar desde el origen, pero al igual que el autor de la pregunta, no puedo cargar el archivo del proyecto en VS 2008 para hacerlo. Podría crear un nuevo proyecto e incluir los archivos de origen e intentar compilarlo, pero antes de hacerlo pensé en preguntar si valía la pena o si faltaba algo más en la instalación del dispositivo. O tal vez debería usar una compilación alternativa?

Respuesta

9

¡Necesitaba RTFM! El archivo readme dice:

Microsoft stopped support for the Compact Framework in Visual Studio 2010. For a Compact Framework 3.5 build download Json.NET 3.5.

así que cogí la más reciente versión 3.5, que es: Json.NET 3.5 Release 8, actualizado mi referencia para apuntar a la asamblea Newtonsoft.Json.Compact.dll, corrieron y funcionó bien.

+0

Además, parece que 3.5.8 encontrado en codeplex en http://json.codeplex.com/releases/view/50552 no es lo mismo que 3.5.8 encontrado en nuget en https://www.nuget.org /packages/Newtonsoft.Json/3.5.8 – DaveWilliamson

+0

Hola, Dónde obtengo Json para Compact Framework 3.5 – Velkumar

+0

El enlace está roto. – Tuco

Cuestiones relacionadas