|
分類:[C#]
返信ありがとうございます。
教えて頂いたように下記のように記述すれば警告はでなくなりました。 ------------- BinaryFormatter formatter = new BinaryFormatter(); StructTEST sTest; sTest.str1 = ""; sTest.str2 = ""; sTets = (StructTEST)formatter.Deserialize(netStream); -------------
ですが、上記の5行目で例外が発生します。(受信時にループでまわしているので、数回例外が発生します。) <発生した例外> 「アセンブリ'Sample_Client,Version=1.0.0.0, Culture=neutral, PublicKeyToken = null"が見つかりません。」 「入力ストリームは有効なバイナリ形式ではありません開始コンテンツ(バイト)06-03・・・・・・mscorlib」 「バイナリストリーム'0'に、有効なBinaryHeaderが含まれていません。シリアル化と逆シリアル化の途中で、無効なストリームまたはオブジェクトのバージョン変更が発生した可能性があります。」
たびたびで申し訳ないのですが、さらに質問させてください。 ・シリアライズしたバージョン?とデシリアライズするときのバージョン?を同じにするにはどうしたらよいのでしょうか?
>この StructTEST、「同じもの=同じ DLL で定義されたもの」じゃないですね? どこか別々のところで定義していますね? 同じPCで作成したものなので、DLLも同じだと思っておりました。。。StructTEST自体は別々のプロジェクトで宣言しています。
アドバイス等いただければ幸いです。
|