我想序列化一个自定义类的对象,而不是在某些事情(例如解决方案重建)之后,我应该反序列化给定的对象 . 问题是重建后如果我尝试反序列化则抛出InvalidCastException ...

我想是因为重建后序列化对象“属于”不同的程序集,这是问题吗?我怎么解决?

这是完全例外

[A] UserWeb无法转换为[B] UserWeb . 类型A源自'App_Code.1us8pwe3,Version = 0.0.0.0,Culture = neutral,PublicKeyToken = null'在上下文'Default'位置'C:\ Users \ David \ AppData \ Local \ Temp \ Temporary ASP.NET Files \ VS \ 7b743d5e \ 8394e6b3 \ App_Code.1us8pwe3.dll” . 类型B源自'App_Code.nzoq2xtn,Version = 0.0.0.0,Culture = neutral,PublicKeyToken = null'在上下文'Default'位置'C:\ Users \ David \ AppData \ Local \ Temp \ Temporary ASP.NET Files \ VS \ 7b743d5e \ 8394e6b3 \ App_Code.nzoq2xtn.dll” .

Theese是我的序列化/反序列化函数

public static string Serialize(object obj)
    {
        BinaryFormatter bformatter = new BinaryFormatter();
        MemoryStream stream = new MemoryStream();

        bformatter.Serialize(stream, obj);

        stream.Position = 0;
        StreamReader reader = new StreamReader(stream);
        string text = reader.ReadToEnd();

        return text;
    }

    public static object Deserialize(string xml)
    {
        BinaryFormatter bformatter = new BinaryFormatter();

        byte[] byteArray = Encoding.ASCII.GetBytes(xml);
        MemoryStream stream = new MemoryStream(byteArray);
        object obj = bformatter.Deserialize(stream);
        stream.Close();

        return obj;
    }

序列化对象存储在DB上 .

当我尝试转换反序列化结果时抛出异常 .