C# ProtoBuf.Serializer.Deserialize在项目上返工后返回null

C# ProtoBuf.Serializer.Deserialize在项目上返工后返回null,c#,visual-studio-2010,serialization,protocol-buffers,C#,Visual Studio 2010,Serialization,Protocol Buffers,我正在使用VisualStudio2010,与c#一起进行网站项目。当我第一次使用ProtoBuf.Serializer.Serialize保存文件并多次重新打开它时,它可以正常工作。但是,当我关闭项目并再次打开网站项目时, ProtoBuf.Serializer.Serialize返回null。我在保存的文件上运行md5sum,校验和仍然相同。我需要帮助。下面是代码 谢谢, 杰森 公共类jIO { [XmlElement(顺序=1)] //公共j_TableRow[]tbl{get;set;}

我正在使用VisualStudio2010,与c#一起进行网站项目。当我第一次使用ProtoBuf.Serializer.Serialize保存文件并多次重新打开它时,它可以正常工作。但是,当我关闭项目并再次打开网站项目时, ProtoBuf.Serializer.Serialize返回null。我在保存的文件上运行md5sum,校验和仍然相同。我需要帮助。下面是代码

谢谢, 杰森

公共类jIO
{
[XmlElement(顺序=1)]
//公共j_TableRow[]tbl{get;set;}
[XmlElement(顺序=2)]
公共字典项{get;set;}
[XmlElement(顺序=3)]
公共字典图像{get;set;}
公共静态内存流序列化(jIO tData)
{
使用(var ms=new MemoryStream())
{
ProtoBuf.Serializer.Serialize(ms,tData);
//Int64尺寸=毫秒长度;
返回ms;
}
}
公共静态void序列化(jIO tData,字符串路径)
{
//使用(var ms=new MemoryStream()){
使用(FileStream fs=File.Create(path))
{
ProtoBuf.Serializer.Serialize(fs,tData);
}
}
公共静态jIO反序列化(字符串路径)
{
使用(var fs=File.OpenRead(path))
{
返回ProtoBuf.Serializer.Deserialize(fs);
}
}
公共静态jIO反序列化(字节[]tData)
{
使用(var ms=新内存流(tData))
{
返回ProtoBuf.Serializer.Deserialize(ms);
}
}
}
 public class jIO
{
    [XmlElement(Order = 1)]
    //public j_TableRow[] tbl { get; set; }
    [XmlElement(Order = 2)]
    public Dictionary<string, string> items { get; set; }
    [XmlElement(Order = 3)]
    public Dictionary<string, Byte[]> images { get; set; }

    public static MemoryStream Serialize(jIO tData)
    {
        using (var ms = new MemoryStream())
        {
            ProtoBuf.Serializer.Serialize(ms, tData);
            //Int64 size = ms.Length;
            return ms;
        }
    }
    public static void Serialize(jIO tData, string path)
    {
        //using (var ms = new MemoryStream()) {
        using (FileStream fs = File.Create(path))
        {
            ProtoBuf.Serializer.Serialize(fs, tData);
        }
    }
    public static jIO Deserialize(string path)
    {
        using (var fs = File.OpenRead(path))
        {
            return ProtoBuf.Serializer.Deserialize<jIO>(fs);
        }
    }
    public static jIO Deserialize(byte[] tData)
    {
        using (var ms = new MemoryStream(tData))
        {
            return ProtoBuf.Serializer.Deserialize<jIO>(ms);
        }
    }
}