2012-07-02 20 views
6

をシリアル化するとき、私はこのコードのビット実行しています:JSONネットのWindows Mobileエラー

string serialized = JsonConvert.SerializeObject(somethingToSend); 

をそして、それは、この例外がスローされます。ここでは

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

は私の設定です:

  • Visual Studio 2008(すべての最新のサービスパックなど)
  • スマートデバイスprojec Windows Mobile 6 .NETをターゲットとtは3.5
  • Json DotNetバージョン4.5リリース7(ジップでWindowsPhoneフォルダから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が必要でした。 readmeファイルは言う:

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バージョンつかん:、Newtonsoft.Json.Compact.dllアセンブリを指すように私の参照を更新し、Json.NET 3.5 Release 8それを実行し、それがうまく働きました。

+0

さらに、http://json.codeplex.com/releases/view/50552のコードplexで見つかった3.5.8は、https://www.nuget.orgのnugetで見つかった3.5.8と同じではありません/packages/Newtonsoft.Json/3.5.8 – DaveWilliamson

+0

こんにちは、 コンパクトフレームワーク3.5用のJsonはどこにありますか – Velkumar

+0

リンクが壊れています。 – Tuco