6

私はこのビットのコードを実行しています:

 string serialized = JsonConvert.SerializeObject(somethingToSend);

そして、次の例外がスローされます。

MissingMethodException: アセンブリ 'mscorlib、Version=3.5.0.0、Culture=neutral、PublicKeyToken=969DB8053D3322AC' から型 'System.Runtime.Serialization.StreamingContext' を読み込めませんでした。

これが私の構成です:

  • Visual Studio 2008 (すべての最新のサービス パックなどを含む)
  • Windows Mobile 6 .Net 3.5 をターゲットとするスマート デバイス プロジェクト
  • Json DotNetバージョン 4.5 リリース 7 (zip 内の WindowsPhone フォルダーから DLL を参照)

この質問に対する答えは、「 Windows Mobile で C# で JSON を読み取るライブラリはありますか?」ということは、それが機能するはずであることを意味します。

エラーなしでここから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 をインストールする必要があることを示唆しています。デバイス自体で実行されていることを考えると、とにかく修正にはならないでしょう。

もう1つの提案はソースからビルドすることですが、質問の著者のように、プロジェクトファイルをVS 2008にロードしてそれを行うことはできません。新しいプロジェクトを作成し、ソース ファイルを含めてコンパイルすることもできますが、それを行う前に、それが価値があるかどうか、またはデバイスのインストールに何か他に欠けているものがあるかどうかをここで尋ねると思いましたか? それとも、別のビルドを使用する必要がありますか?

4

1 に答える 1

10

だから私はRTFMが必要でした!readme ファイルには次のように書かれています。

Microsoft は、Visual Studio 2010 での Compact Framework のサポートを停止しました。Compact Framework 3.5 ビルドの場合は、Json.NET 3.5 をダウンロードしてください。

そこで、最新の 3.5 バージョンであるJson.NET 3.5 Release 8Newtonsoft.Json.Compact.dllを取得し、アセンブリを指すように参照を更新し、実行したところ、正常に動作しました。

于 2012-07-03T05:43:26.177 に答える