経由の逆シリアル化でBindingFailure JSON.Net 4.0 r3自体でシリアル化されたJSON文字列を逆シリアル化しようとしています。シリアル化とデシリアライズの設定は同じです。次の例外が発生します。JSON.Net 4.0 r3
がタイプ 'System.Collections.Generic.List`1 [[System.Drawing.PointF、 System.Drawing]]' アセンブリの「"mscorlib、バージョン= 4.0を見つけることができませんでした.0.0、 カルチャニュートラル、PublicKeyToken = = b77a5c561934e089" 」
をオンにした後、 "BindingFailureがスローされたときに停止"、私はこの問題は、以下の部分にある参照(JSON.Netのソースコード、DefaultSerializationBinder.cs) :
if (assemblyName != null)
{
Assembly assembly;
#if !SILVERLIGHT && !PocketPC
// look, I don't like using obsolete methods as much as you do but this is the only way
// Assembly.Load won't check the GAC for a partial name
#pragma warning disable 618,612
assembly = Assembly.LoadWithPartialName(assemblyName);
#pragma warning restore 618,612
#else
assembly = Assembly.Load(assemblyName);
#endif
if (assembly == null)
throw new JsonSerializationException("Could not load assembly '{0}'.".FormatWith(CultureInfo.InvariantCulture, assemblyName));
Type type = assembly.GetType(typeName); // BindingFailure here
if (type == null)
throw new JsonSerializationException("Could not find type '{0}' in assembly '{1}'.".FormatWith(CultureInfo.InvariantCulture, typeName, assembly.FullName));
}
BindingFailureの点で示さ
エラーが
表示名「System.Drawing」とのアセンブリであるID 1と の原因をアプリケーションドメインのコンテキストを結合 「LoadFrom」に読み込みに失敗しました失敗しました:System.IO.FileNotFoundException:ファイル またはアセンブリ 'System.Drawing'またはその依存関係の1つを読み込めませんでした。システム は、指定されたファイルを見つけることができません。
オペレーティングシステムは、Windows 7,64ビットです。私はVisual Studio 2010を使用しており、このアプリケーションをFramework v4に向けています。ターゲットはSilverlightまたはPocketPCではありません。
この場合、「System.Drawing」を読み込めないのはなぜですか?これがJSON.Netの問題であるのか、Framework 4.0のインストールに問題があるのかはどこから調べるべきですか?
ありがとうございます。