未找到PublicKeyToken null

时间:2018-05-15 08:50:21

标签: c# deserialization

我创建了我的第一个Windows窗体应用程序C#4.5

我在C:\下发布了该应用 所以我在该路径下安装了.exe的应用程序。

应用程序将表格序列化为二进制文件,然后将这些文件传输到远程服务器。 一切顺利:创作>压缩> ftp转移。

现在,当我尝试使用ASP.NETt deserialize时,我收到错误:

  

程序集'myApplication,Version = 1.0.0.0,Culture = neutral,PublicKeyToken =   找不到null'。

作为序列化程序,我正在使用BinaryFormatter

这个错误是什么意思?

应用程序(Windows窗体)和ASP.NET站点都在4.5中。 我该怎么办?

这是反序列化代码:

public long Deserialize(SqlConnection ImportConnection)
{

    String path = Path.Combine(HttpRuntime.AppDomainAppPath, "unZIP/AGENTI.bin");
    long position = 0;      
    BinaryFormatter formatter = new BinaryFormatter();
    long blocchi = 0;
    using (FileStream stream = new FileStream(path, FileMode.Open, FileAccess.Read))
    {
        while (position < stream.Length)
        {
            stream.Seek(position, SeekOrigin.Begin);
            var listAgenti = (List<AGENTI>)formatter.Deserialize(stream);

            position = stream.Position;

            foreach (AGENTI agente in listAgenti)
            {
                agente.InsertAgenti(ImportConnection, agente);
            }
            blocchi++;
        }
        stream.Flush();
    }

    return blocchi;
}

在file.bin里面我找到了 ... HApp_Code.kwqligxt,Version = 0.0.0.0,Culture = neutral,PublicKeyToken = null uSystem.Collections.Generic.List`1 [[AGENTI,....

之前的代码是在ASP.NET站点中进行序列化并且有效, 现在它在Windows窗体中没有任何变化。

0 个答案:

没有答案