我有一個在.NET 1.1中開發的繼承代碼庫。當我將它遷移到2.0時,我重命名了一個程序集。現在,我發現有必要讀取包含由舊程序集和.NET 1.1序列化的對象的舊文件。 某些字段已成功反序列化,但大多數都被忽略。如果我能FormatterAssemblyStyle.Full,我得到一個錯誤,如:類「MyNamespace.T_VERSION
」如何反序列化有些不兼容的BinaryFormatter數據?
會員「T_VERSION+s_sys_ver
」是不存在的序列化流中,並沒有打上System.Runtime.Serialization.OptionalFieldAttribute。
對二進制文件的檢查顯示T_VERSION+s_sys_ve
r存在於某種形式,並且字段類型未更改。
是否有任何方法反序列化舊格式文件手動反向工程舊格式和編寫我自己的手動反序列化程序?