के नामस्थान को बदलने के बाद बाइनरीफॉर्मेटर के साथ deserialize नहीं कर सकते हैं मेरी कक्षा के नामस्थान को बदलने के बाद मैं वस्तुओं को deserialize नहीं कर सकता। मैंने SerializationBinder
लागू किया है। उदाहरण:कक्षा
public class TypeNameConverter : SerializationBinder
{
public override Type BindToType(string assemblyName, string typeName)
{
typeName = typeName.Replace("MyOldNamespace", "MyNewNamespace");
return Type.GetType(string.Format("{0}, {1}", typeName, assemblyName));
}
}
BinaryFormatter bf = new BinaryFormatter();
bf.Binder = new TypeNameConverter();
अपवाद मैं मिलता है:
'System.Runtime.Serialization.TypeLoadExceptionHolder' टाइप करने के लिए 'MyNewNamespace.MyClass'
क्या आपको असेंबली में नेमस्पेस भी बदलने की ज़रूरत है? – d89761
बिल्कुल यकीन नहीं है कि आप किस बारे में बात कर रहे हैं। मैंने जो कुछ किया वह मेरे डेटाबेस क्लास को मेरी परियोजना से बाहर और अपनी परियोजना में ले जाया गया था। जहां तक मुझे पता है कि एकमात्र चीज बदल गई है नामस्थान था। –