AqlaSerializer is intended to serialize objects, not just data.
What the difference? Data serializers don't care much about language runtime specifics like references, inheritance, etc. In contrast, an object serializer should take such things into account.
Like protobuf-net AqlaSerializer makes possible to store objects as a small in size binary data (far smaller than xml). And it's more CPU effective than BinaryFormatter and other core .NET serializers (which could be unavailable on your target platform). Its format 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.
AqlaSerializer project goal is not to make a Protocol Buffers compatible implementation but instead support all common .NET features. It is compatible with most of the .NET family, including .NET 2.0/3.0/3.5/4.0, Mono 2.x, Silverlight, etc. The code is heavily based on Marc Gravell's protobuf-net but there are a lot of improvements and fixes.
The original protobuf-net project contains many "red" unit tests but I managed to fix a lot of them.
Some platforms may be not available through nuget, you can download their binaries manually from github.
See the version list below for details.
Install-Package aqlaserializer -Version 22.214.171.1248
dotnet add package aqlaserializer --version 126.96.36.1998
<PackageReference Include="aqlaserializer" Version="188.8.131.528" />
paket add aqlaserializer --version 184.108.40.2068
#r "nuget: aqlaserializer, 220.127.116.118"
// Install aqlaserializer as a Cake Addin #addin nuget:?package=aqlaserializer&version=18.104.22.1688 // Install aqlaserializer as a Cake Tool #tool nuget:?package=aqlaserializer&version=22.214.171.1248
* 126.96.36.1998: merged changes from the fork origin (except DNX)
* 188.8.131.523: fixed AsReferenceDefault correct usage for legacy protobuf-net attributes
- fixed issue when surrogated value was not correctly reference tracked
- add method is recognized not only on IEnumerable<T> but also on its inheritors like IReadOnlyCollection<T>
* 184.108.40.2067 - improvements in list handling, merged changes from original protobuf-net
* 220.127.116.11 - initial AqlaSerializer release
This package has no dependencies.
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.