protobuf-net 3.4.0

protobuf-net

A contract-based serializer for .NET that reads and writes Google's "protocol buffers" wire format. The API follows normal .NET patterns — broadly comparable to XmlSerializer or DataContractSerializer — so you annotate the types you already have:

[ProtoContract]
public class Person
{
    [ProtoMember(1)] public int Id { get; set; }
    [ProtoMember(2)] public string Name { get; set; }
}

using var file = File.Create("person.bin");
Serializer.Serialize(file, new Person { Id = 12345, Name = "Fred" });

Members are identified on the wire by number, not by name, so the numbers matter: pick them once and keep them stable. Everything the attributes do can also be configured at runtime, via RuntimeTypeModel.

Contract-first works too: generate C#/VB from a .proto schema at build time, from the command line with protobuf-net.Protogen, or in your browser at protobuf-net.dev.

Build tools — analyzers that check your contracts, and the generator that emits serializers at compile time so native AOT and trimming work — ship with this package by default; opt out with <ProtoBufDisableBuildTools>true</ProtoBufDisableBuildTools>.

More

Showing the top 20 packages that depend on protobuf-net.

Packages Downloads
prometheus-net
.NET metrics exporter for the Prometheus monitoring and alerting system
47
prometheus-net
.NET client for prometheus.io
45
prometheus-net
.NET metrics exporter for the Prometheus monitoring and alerting system
45
prometheus-net
.NET client for prometheus.io
44
prometheus-net
.NET client for prometheus.io
43
prometheus-net
.NET client for prometheus.io
42
prometheus-net
.NET client for prometheus.io
41
prometheus-net
.NET metrics exporter for the Prometheus monitoring and alerting system
40
prometheus-net
.NET metrics exporter for the Prometheus monitoring and alerting system
39
prometheus-net
.NET client for prometheus.io
39
prometheus-net
.NET client for prometheus.io
38
prometheus-net
.NET metrics exporter for the Prometheus monitoring and alerting system
38
prometheus-net
.NET client for prometheus.io
37

.NET Framework 4.6.2

.NET 8.0

.NET Standard 2.0

.NET Standard 2.1

Version Downloads Last updated
3.4.40 8 10/24/2026
3.4.30 16 9/17/2026
3.4.29 14 9/17/2026
3.4.28 17 9/17/2026
3.4.21 19 9/2/2026
3.4.19 19 8/28/2026
3.4.14 13 8/23/2026
3.4.0 15 8/23/2026
3.3.21 14 8/19/2026
3.3.8 16 8/13/2026
3.3.0 18 8/13/2026
3.2.56 47 12/11/2025
3.2.55 34 12/11/2025
3.2.52 40 12/11/2025
3.2.46 37 12/11/2025
3.2.45 29 12/11/2025
3.2.30 36 12/11/2025
3.2.26 37 12/11/2025
3.2.16 30 12/11/2025
3.2.12 37 12/11/2025
3.2.8 35 12/11/2025
3.2.0 36 12/11/2025
3.1.33 37 12/11/2025
3.1.26 36 12/11/2025
3.1.25 31 12/11/2025
3.1.22 40 12/11/2025
3.1.17 36 12/11/2025
3.1.4 41 12/11/2025
3.1.0 38 12/11/2025
3.0.131 36 12/11/2025
3.0.101 38 12/11/2025
3.0.73 35 12/11/2025
3.0.72 40 12/11/2025
3.0.62 31 12/11/2025
3.0.52 37 12/11/2025
3.0.29 41 12/11/2025
3.0.27 33 12/11/2025
3.0.24 39 12/11/2025
3.0.21 38 12/11/2025
3.0.18 38 12/11/2025
3.0.13 36 12/11/2025
3.0.2 37 12/11/2025
3.0.0 39 12/11/2025
2.4.9 32 12/11/2025
2.4.8 34 12/11/2025
2.4.7 39 12/11/2025
2.4.6 39 12/11/2025
2.4.4 49 12/11/2025
2.4.1 42 12/11/2025
2.4.0 44 12/11/2025
2.3.17 37 12/11/2025
2.3.16 36 12/11/2025
2.3.15 37 12/11/2025
2.3.14 37 12/11/2025
2.3.14-alpha1 38 12/11/2025
2.3.13 34 12/11/2025
2.3.7 39 12/11/2025
2.3.6 31 12/11/2025
2.3.5 32 12/11/2025
2.3.4 38 12/11/2025
2.3.3 35 12/11/2025
2.3.2 34 12/11/2025
2.3.1 40 12/11/2025
2.3.0 36 12/11/2025
2.3.0-gamma 30 12/11/2025
2.2.1 38 12/11/2025
2.1.0 36 12/11/2025
2.1.0-alpha-5 39 12/11/2025
2.1.0-alpha-4 33 12/11/2025
2.1.0-alpha-3 37 12/11/2025
2.1.0-alpha-1 32 12/11/2025
2.0.0.668 38 12/11/2025
2.0.0.666 39 12/11/2025
2.0.0.664 36 12/11/2025
2.0.0.663 37 12/11/2025
2.0.0.640 41 12/11/2025
2.0.0.638 37 12/11/2025
2.0.0.621 34 12/11/2025
2.0.0.619 39 12/11/2025
2.0.0.614 41 12/11/2025
2.0.0.612 34 12/11/2025
2.0.0.611 36 12/11/2025
2.0.0.602 40 12/11/2025
2.0.0.601 37 12/11/2025
2.0.0.480 35 12/11/2025
1.0.0.280 35 12/11/2025