アプリケーション間でデータを交換するためにNetDataContractSerializerを使用しています。アセンブリのバージョンが一致しない場合、 ReadObjectメソッドが例外をスローするようにします。
たとえば、アセンブリ バージョン 1.0.0.0 からオブジェクトをシリアル化し、後で同じアセンブリを使用して逆シリアル化すると、現在はバージョン 1.0.0.1 であり、NetDataContractSerializerは問題なくストリームを飲み込んで逆シリアル化します。
バージョンが一致しない場合、逆シリアル化プロセスを中止することはできますか?
更新: 多くの理由により、バージョン不寛容が必要です。これは、顧客からの要件であると同時に、同じバージョンのアプリケーションからエクスポートされたファイルをインポートが処理することを確実にするための要件でもあります。私のアプリケーションの場合、バージョンを変更すると以前のインポート プロセスが役に立たなくなります。