4
我正在使用BinaryFormatter
來存儲我的應用程序設置。現在,經過幾年的持續發展,在許多用戶已經使用我的應用程序之後,我想更改幾個類的命名方式以及它們所在的命名空間。但是,如果我這樣做,則不能再加載設置,因爲BinaryFormater
通過其代碼內名稱來調用事物。在更改類名後,是否可以通過「BinaryFormatter」序列化對象?
因此,例如,如果我在代碼中將MyNamespace.ClassOne
更改爲MyNamespace.Class.NumberOne
,我無法再加載設置,因爲MyNamespace.ClassOne
不再存在。
我想同時進行此更改並允許用戶保留其設置文件。這可能嗎?
我的意思是,我想我可以研究它保存的格式,並手動修改二進制文件,替換類名,但那會是黑客的方法。必須有一個正常的方法來解決這個問題,對吧?
還有其他類型文化組裝不可知的二進制串行器。 ProtoBuf-net就是其中之一,我認爲CodeProject上的NetSerializer也是如此。 – Plutonix 2014-09-06 14:55:15