Downloads of v


Average downloads per day


Last published

Share on Social Networks

License details

provided by Sonatype



There is a newer prerelease version of this package available. See the version list below for details.


Protocol Buffers is the name of the binary serialization format used by Google for much of their data communications. It is designed to be: small in size - efficient data storage (far smaller than xml) cheap to process - both at the client and server platform independent - portable between different programming architectures extensible - to add new data to old messages. protobuf-net is a .NET implementation of this, allowing you to serialize your .NET objects efficiently and easily. It is compatible with most of the .NET family, including .NET 2.0/3.0/3.5/4.0, .NET CF 2.0/3.5, Mono 2.x, Silverlight, etc.

To install protobuf-net, run the following command in the Package Manager Console

Install-Package protobuf-net -Version

Release Notes

* - fix: reader's position not resetting: eventually causes overflow on pooled instance; critical fix to 663
      * - add: Support for BCL immutable types (Microsoft.Bcl.Immutable)
      * - add: Remove some more allocations (IPredicate)
      * - add: ProtoReader recycling for heavy read throughput
                  - add: precompile uses alternative switch construct (android limitations)
      * - add: new key-signing options for precompile
                  - add: enum-passthru defaults
      * - fix: bug with length-prefix / naked enumerations
      * - update: protoc 2.5
                  - fix: various tweaks for Genderme
                  - fix: better support for "naked enumerables" (root enumerable objects)
      * - fix: bug in "precompiler" for lots of types
                  - add: support for default type factories (including extended callback signature support)
                  - fix: ImplicitFields parsing failing if assembly loaded dynamically
                  - add: experimental support for concurrent collections
                  - add: support for tuples with AsReference; better handling of default AsReference; improved AsReference error message
      * - fix: bug in protogen with default enums when no package is specified
      * - fix: nasty regression in r619, where GetSchema() could cause base-type corruption
      * - fix: GetSchema() should use ultimate base-type names when modelling inheritance
                  - fix: ensure precomile always generates a .ctor() on the concrete serializer
                  - add: support out-of-order fields when deseiralizing inheritance from other protobuf implementations
      * - fix: enum handling of ": byte" confusing signed/unsigned bytes
      * - fix: allow adding enum maps at runtime via MetaType
      * - fix: *Specified should work with non-public methods
                  - performance: pre-compiled serializers now use dictionary lookups where appropriate
                  - fix: nuget package for portable library should be more inclusive
      * - added precompiler support for internal-types and [InternalsVisibleTo(...)]-forwarding
                  - made AllowParseableTypes available on default type-model
      * - added phone8 support



Marc Gravell



This package has no dependencies.

Version History

Version Downloads Last updated
protobuf-net 2.1.0-alpha-1 4,066 Sunday, November 22, 2015
protobuf-net 7,162 Monday, September 9, 2013
protobuf-net 1,245 Tuesday, September 3, 2013
protobuf-net 395 Monday, September 2, 2013
protobuf-net 21,978 Wednesday, May 29, 2013
protobuf-net 818 Tuesday, May 28, 2013
protobuf-net 30,774 Wednesday, January 16, 2013
protobuf-net 923 Friday, January 11, 2013
protobuf-net 1,936 Monday, December 31, 2012
protobuf-net 2,875 Monday, December 10, 2012
protobuf-net 1,770 Wednesday, December 5, 2012
protobuf-net 3,236 Tuesday, November 13, 2012
protobuf-net 1,767 Tuesday, November 6, 2012
protobuf-net 51,109 Sunday, December 11, 2011
protobuf-net 7,402 Thursday, April 14, 2011