.NET 2.0では、バージョン寛容シリアル化は、オブジェクトが存在する古いバージョンのアセンブリから直列化オブジェクトを正常に逆シリアル化します。バージョン寛容シリアル化 - 元のAssemblyNameを見つける方法
16進数のビューアを使用してこのようなバイナリ形式のシリアライズされたストリームを開くと(VSには単純なドラッグアンドドロップがあります)、このストリームにアセンブリ情報が含まれていることがわかります。
デシリアライズ時にこの情報を取得する方法はありますか?これは、たとえば、古いコンテンツを読むときに既知の問題にフィックスアップを適用するために使用できます。
更新: それはできないようです(ポールベッツの答えのように、クラス自体を変更する以外は、どちらもテストしませんでした)ので、この値を読み取る方法はありますか?バイナリ形式は公開されていますか?
関連(しかし同一ではない):http://stackoverflow.com/questions/929985#930135 - 短い、Iドンでバージョン間でBinaryFormatterがうまく動作すると思っています...より良いオプションがあります。 –
またはhttp://stackoverflow.com/questions/881766#881898(これはちょうど関連しています - dupなどではありません) –