C# 反序列化异常:找不到程序集

C# 反序列化异常:找不到程序集,c#,.net,deserialization,serializable,C#,.net,Deserialization,Serializable,我从事winforms项目 我尝试反序列化一个对象: private void CreateObjects() { try { using (FileStream fs = new FileStream("path to file", FileMode.Open)) sObjects = (Objects)(new BinaryForm

我从事winforms项目

我尝试反序列化一个对象:

private void CreateObjects()
        {
            try
            {
                using (FileStream fs = new FileStream("path to file", FileMode.Open))              
                   sObjects = (Objects)(new BinaryFormatter().Deserialize(fs)); 
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
但在这一行:

sObjects = (Objects)(new BinaryFormatter().Deserialize(fs)); 
我得到一个例外:

找不到程序集“TheNameOfClass,版本=1.0.0.0,区域性=neutral,PublicKeyToken=null”


知道是什么导致了这个异常吗?

如果你的类污染了没有可序列化标记的对象,你就不能反序列化它们。您需要使用不可序列化标记来标记这些对象


如果在AssemblyInfo.cs版本中定义如下:

[assembly: AssemblyVersion("1.0.*.*")]
[assembly: AssemblyFileVersion("1.0.*.*")]
然后将其更改为:

[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

你有那个程序集吗?你能从这段代码中手动实例化“TheNameOfClass”吗?