Downloads of v


Last published

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

PM> 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 46 Sunday, November 22 2015
protobuf-net 5,910 Monday, September 09 2013
protobuf-net 1,099 Tuesday, September 03 2013
protobuf-net 356 Monday, September 02 2013
protobuf-net 20,543 Wednesday, May 29 2013
protobuf-net 779 Tuesday, May 28 2013
protobuf-net 29,246 Wednesday, January 16 2013
protobuf-net 772 Friday, January 11 2013
protobuf-net 1,344 Monday, December 31 2012
protobuf-net 2,718 Monday, December 10 2012
protobuf-net 1,198 Wednesday, December 05 2012
protobuf-net 2,727 Tuesday, November 13 2012
protobuf-net 1,628 Tuesday, November 06 2012
protobuf-net 46,572 Sunday, December 11 2011
protobuf-net 4,211 Thursday, April 14 2011