2011-10-12 22 views
6

değişti. Serileştirme, BinaryFormatter kullanılarak yapılmıştır.Deserialize <p></p> Ben ns1.X, diyelim ki, adlı bir türü seri temsilini içermesi eski yapılandırma dosyalarını serisini gerekiyor ... .NET 4/C# ile

Sorun, bir dizi yeniden arşivlemeden sonra, X türü farklı bir ad alanına taşınmıştır, örneğin ns2.X.

Ben ns2.X türemiş yeni boş ns1.X türü oluşturarak çalıştık ve bu circumvents ederken 'tip ns1.X bulunamıyor' hatası, Serileştirilmemiş nesnede özelliklerin hepsi null vardır . Ayrıca, sürece hiçbir ctors denir.

Herhangi bir öneriniz var mı?

+1

Sorunu gerçekten kullanamadığımdan bu sorunu çözebilir mi bilmiyorum, ama bir süre önce TypeForwarding'i okuduğumu hatırlıyorum: Bilgiyi burada bulabilirsiniz: http: // msdn .microsoft.com/en-us/library/ms404275.aspx – Anton

+0

İlginç. Kontrol edeceğim. –

+0

Bir Google araması şunu faydalı bulabilir: http://www.codeproject.com/KB/cs/DrawWithMouse.aspx#AdvancedBinarySerialization:DeserializinganObjectIntoaDifferentTypeThantheOneItwasSerializedInto9 – Dan

cevap

1

Bunu yapmak için ISerializationSurregate kullanmanız gerekecek. Çok zor değil ve Jeff Richter bunu gerçekten iyi açıklıyor. CLR Via C# 3 kitabını öneririm.