2012-07-02 28 views
6

當我運行這段代碼JSON的.Net Windows Mobile的錯誤序列化

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

這裏是我的配置:

  • Visual Studio 2008(帶有所有最新的服務包等)
  • Smart Device projec牛逼瞄準的Windows Mobile 6的.Net 3.5
  • Json DotNet版本4.5版本7(引用來自WindowsPhone的文件夾中的zip的DLL)

回答這個問題: 「Is there a library to read JSON in C# on Windows Mobile?」 意味着它應該工作。

我用,我以前從這裏安裝CAB文件沒有錯誤連接真實設備(所以沒有仿真器)運行它在調試:

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

該應用程序運行正常,直到我點擊按鈕正在運行上面的行,所以有人知道我失蹤了嗎?

此線程「Json.Compact.dll for Windows CE 5.0?」表明我需要安裝Windows SDK,這是我的。鑑於它在設備本身上運行,我想這不會是修復無論如何。

另一個建議是從源代碼構建,但像問題的作者,我不能將項目文件加載到VS 2008來做到這一點。我可以創建一個新項目幷包含源文件,並嘗試讓它編譯,但在此之前,我認爲我會問這裏是否值得,或者在設備上安裝時是否還有其他東西丟失?或者,也許我應該使用替代版本?

回答

9

所以我需要RTFM!自述文件說:

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

所以我抓住了最新的3.5版本,這是:Json.NET 3.5 Release 8,更新了我的引用指向Newtonsoft.Json.Compact.dll裝配,運行它,它工作得很好。

+0

此外,似乎在http://json.codeplex.com/releases/view/50552上的codeplex上的3.5.8與位於https://www.nuget.org上的nuget上的3.5.8不一樣/packages/Newtonsoft.Json/3.5.8 – DaveWilliamson

+0

嗨, 我在哪裏得到Json for Compact Framework 3.5 – Velkumar

+0

鏈接已損壞。 – Tuco