aqla.runsharp 1.0.23

.NET Standard 2.1 .NET Framework 2.0
dotnet add package aqla.runsharp --version 1.0.23
NuGet\Install-Package aqla.runsharp -Version 1.0.23
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="aqla.runsharp" Version="1.0.23" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add aqla.runsharp --version 1.0.23
#r "nuget: aqla.runsharp, 1.0.23"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install aqla.runsharp as a Cake Addin
#addin nuget:?package=aqla.runsharp&version=1.0.23

// Install aqla.runsharp as a Cake Tool
#tool nuget:?package=aqla.runsharp&version=1.0.23

RunSharp is a runtime IL generator based on Reflection.Emit and IKVM which allows you to emit IL in a way similar to writing normal C# code.

     It's a layer above the standard .NET Reflection.Emit API, allowing to generate/compile dynamic code at runtime very quickly and efficiently (unlike using CodeDOM and invoking the C# compiler).


     * .NET Standard 2.1 (including .NET Core 3 and .NET 5)
     * .NET 2.0 and higher including .NET 4 (also IKVM version available)
     * Windows Phone 8
     * Silverlight 5

     The IKVM version has also an ability to emit NET 2.0 and .NET 4.0 assemblies (while running on, for example, .NET 3.0).

     This package is a fork of TriAxis.RunSharp (the original is now abandoned).

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
.NET Framework net20 is compatible.  net35 is compatible.  net40 was computed.  net403 was computed.  net45 was computed.  net451 was computed.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Silverlight sl5 is compatible. 
Tizen tizen60 was computed. 
Windows Phone wp8 is compatible.  wp81 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.
  • .NETFramework 2.0

    • No dependencies.
  • .NETFramework 3.5

    • No dependencies.
  • .NETStandard 2.1

NuGet packages (1)

Showing the top 1 NuGet packages that depend on aqla.runsharp:

Package Downloads

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. AqlaSerializer primary goal is to support important .NET features like nested collections, multi-dimensional arrays, references, etc. And it still supports Google Protocol Buffers format. 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. The implementation is compatible with most of the .NET family, including .NET 3.5/4.0/4.5, .NET Standard 2.1 (.NET Core 3/3.1, .NET 5, .NET 6), Windows Phone 8, Silverlight 5, Android, iOS, UAP. 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 build configurations may be not available through nuget, you can download their binaries manually from github (use Project Site link).

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.23 612 1/1/2021
1.0.22 2,957 12/26/2020
1.0.21 367 12/26/2020 487 12/26/2020 2,578 5/30/2016 2,046 5/28/2016 1,250 5/6/2016 1,357 3/23/2016 981 3/6/2016
1.0.0 376 12/26/2020 1,158 1/14/2016 1,217 1/13/2016 1,020 1/13/2016 1,059 10/25/2015 1,572 10/25/2015

* - added .NET standard 2.1 support and .NET 5 tests, removed separate Xamarin.Android (use .NET Standard build instead)
* - fix for explicit interface implementation, added Android platform
* - IKVM reference won't be added for nuget installations
* - multidimensional array access, fix for AND/OR operands
* - added nullables support, multiple improvements
* - operand leaking detection
* - added support for Silverlight 4
* - added support for Windows Phone 8
* - initial fork release:
- added IKVM support
- examples converted to tests
- added peverify checks
- fixed multiple bugs