2

このトピックに関する同様の質問と回答をたくさん読みましたが、なぜこの問題が発生するのかまだわかりません。

クライアント プロジェクトとサーバー プロジェクトがあり、どちらも作成した同じ dll ライブラリを使用しています。クライアントでオブジェクトをシリアル化すると、サーバーで逆シリアル化しても問題ありませんが、サーバーがオブジェクトをシリアル化した後にクライアントで逆シリアル化しようとすると、「アセンブリが見つかりません」という例外がスローされます。

シリアル化と逆シリアル化のコードは、クライアントとサーバーの両方で同一です。どちらも同じ dll を認識して動作します。問題の原因となるアイデアはありますか?

4

2 に答える 2

2

AppDomain.AssemblyResolveイベントを見てください。

于 2010-09-19T12:31:21.317 に答える
0

他にモデルに忍び寄るものはありますか? 典型的な例はイベントです。BinaryFormatter にはイベント グラフが含まれているため、あらゆる種類の予期しないものが含まれます。イベントがある場合、バッキング フィールドを [NonSerialized] としてマークするか、フィールドのようなイベントの場合:

[field: NonSerialized]
public event SomeType Foo;

または、イベントグラフを含まないシリアライザーを使用してください。

于 2010-09-19T12:39:01.420 に答える