I’m trying to get started with protobuf.net.
I’ve downloaded the latest version from here, implemented a [ProtoContract] class, and now I’m trying to serialize it with ProtoBuf.Serializer.Serialize as described in the documentation. The problem is, that there is no such method.
How do I write [ProtoContract] to disk?
UPDATE
Apparently, I’ve got the wrong version of it or something, but here’s what my Serialize class looks like:

This must help you get started with it : Source & Credit & Marc Gravell
The simplest way to get started is simply to write your data:
That is a good start, but by itself is not enough for protobuf-net. Unlike XmlSerializer, the member-names are not encoded in the data – instead, you must pick an integer to identify each member. Additionally, to show intent it is necessary to show that we intend this type to be serialized (i.e. that it is a data contract):
Since “protocol buffers” is a binary format, protobuf-net is based heavily around the Stream class; this makes it simple to use with a wide variety of implementations. For example, to write to a file:
This writes a 32 byte file to “person.bin”. It might not be obvious in the above, but Serialize is a generic method – the line could also be:
But most of the time we can let the compiler’s generic type inference do the work for us.
Deserializing Data
We also need to get out data back!
This reads the data back from “person.bin”. Note we need to tell it the type this time (the ), but otherwise the code is very similar.
Update : Download this package
