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 5,881 Sunday, November 22, 2015
protobuf-net 7,654 Monday, September 9, 2013
protobuf-net 1,294 Tuesday, September 3, 2013
protobuf-net 403 Monday, September 2, 2013
protobuf-net 22,751 Wednesday, May 29, 2013
protobuf-net 824 Tuesday, May 28, 2013
protobuf-net 31,263 Wednesday, January 16, 2013
protobuf-net 961 Friday, January 11, 2013
protobuf-net 2,178 Monday, December 31, 2012
protobuf-net 3,070 Monday, December 10, 2012
protobuf-net 1,924 Wednesday, December 5, 2012
protobuf-net 3,620 Tuesday, November 13, 2012
protobuf-net 1,788 Tuesday, November 6, 2012
protobuf-net 52,519 Sunday, December 11, 2011
protobuf-net 8,813 Thursday, April 14, 2011