A MessagePack serialization/deserialization library for Common Language Infrastructure (CLI) platforms like .NET Framework, Mono, and Xamarin.
MessagePack for CLI is a MessagePack implementation for Common Language Infrastructure (CLI) platforms, providing binary serialization and deserialization capabilities. It enables efficient data exchange in a compact format across various .NET environments, including .NET Framework, Mono, and Xamarin. The library solves the need for fast, interoperable serialization in CLI-based applications.
Developers working with CLI platforms like .NET Framework, Mono, or Xamarin who require efficient binary serialization for cross-language or cross-platform communication.
It offers high-performance serialization with a simple API, supports pre-compiled assemblies for faster startup, and works across all CLS-compliant languages, making it a versatile choice for CLI-based projects.
MessagePack implementation for Common Language Infrastructure / msgpack.org[C#]
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides high-performance serialization and deserialization with a simple API, evidenced by the straightforward Pack and Unpack methods shown in the README, reducing payload size for efficient communication.
Works with all CLS-compliant languages like C#, F#, and Visual Basic, enabling interoperability across different language ecosystems within CLI platforms.
Compatible with .NET Framework, Silverlight, Mono, and Xamarin, as listed in the features, making it versatile for legacy and modern CLI applications.
Supports generating pre-compiled serializers for rapid startup and reduced runtime overhead, which is highlighted as ideal for production environments to boost performance.
AOT environments like Xamarin and Unity require manual pre-generation of serializers using tools like mpu -s, and failure to do so can lead to ExecutionEngineException errors, as warned in the README.
Requires instantiating and managing a SerializationContext as a singleton for optimal performance, adding overhead and complexity compared to plug-and-play serialization libraries.
Building from source necessitates multiple Visual Studio versions and SDKs, such as .NET Framework 3.5 to 4.x and .NET Core, making development setup time-consuming and error-prone.