序列化程序。*方法缺少protobuf-net“CoreOnly”构建

时间:2013-12-09 20:07:24

标签: protobuf-net

我正在编写一个Window服务并在CoreOnly / net30中引用protobuf-net.dll。我正在使用以下代码:

                MyJob job;
                using (var file = File.OpenRead("myjob.bin"))
                {
                    job = Serializer.Deserialize<MyJob>(file);
                }

我得到的错误是:'ProtoBuf.Serializer'不包含'反序列化'的定义

我错过了什么?

1 个答案:

答案 0 :(得分:1)

使用“完整”。

如果您使用的是CoreOnly,那么您正在使用Google代码下载。在zip的根目录是一个名为“我需要什么文件.txt”(或类似的东西)的文件,它解释了CoreOnly是什么,以及如何使用它。简短版本是它不包括元编程层,并且旨在与预编译工具一起使用。直接在Serializer上的方法与默认的基于元编程的模型相关联 - 因此在CoreOnly中不可用。

CoreOnly的主要用途是用于无法进行元编程的移动设备等环境。实际上,使用NuGet下载通常更容易,它只包含完整版。

然而,我很想添加这些方法,但用[Obsolete("some text", true)]解释所有这些 - 以避免将来混淆。