Conari 1.5.0

.NET 5.0 .NET Core 2.1 .NET Standard 2.0 .NET Framework 4.0
dotnet add package Conari --version 1.5.0
NuGet\Install-Package Conari -Version 1.5.0
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="Conari" Version="1.5.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Conari --version 1.5.0
#r "nuget: Conari, 1.5.0"
#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 Conari as a Cake Addin
#addin nuget:?package=Conari&version=1.5.0

// Install Conari as a Cake Tool
#tool nuget:?package=Conari&version=1.5.0

Conari

🧬 An unmanaged memory, modules, and raw data in one-touch.

Conari engine represents most flexible platform for working with unmanaged memory, modules, related P/Invoke features, and more around libraries, executable modules, runtime dynamic use of the unmanaged native C/C++ in .NET world and other raw data just in a few easy steps without configuring something, and... Even accessing to complex types like structures without their declaration at all.

License NuGet package

[ Quick start ] [ Complex types and strings ] → { Wiki }

Why Conari ?

It was designed to be loyal to your needs on the fly!

🧰 Powerful types

using dynamic l = new ConariX("regXwild.dll");

string data = "number = 888;";
bool found = l.replace<bool>(ref data, "+??;", "2034;");
// found: true; data: number = 2034;

🔨 Its amazing DLR features

Conari will generate and adapt everything at runtime! Specially for you!

🔧 The easiest (most ever) access to any data in unmanaged memory

ptr.Native().f<int>("x", "y").build(out dynamic l);
l.x // 17
l.y // -23

🏄 Most powerful PInvoke and even most convenient use of WinAPI without preparing something

For example, below we don't provide neither user32.ShowWindow() nor user32.MessageBoxA(), even no kernel32.GetModuleHandleA/W()

dynamic user32 = new User32();

    user32.ShowWindow(0x000A0A28, 3);
    user32.MessageBoxA(0, "Conari in action", "Hello!", 0);

🚀 Awesome speed

test of regXwild's algorithms [340x10000 Unicode]

🍰 MIT License! Enjoy.

. . . Read more: https://github.com/3F/Conari


Conari 1.5.0.63141+ba1a82e

Configuration: PublicRelease
Platforms: net40;net472;netcoreapp2.1;net5;netstandard2.0;netstandard2.1

:: generated by a vsSolutionBuildEvent 1.14.1.34071


GetNuTool package manager: gnt /p:ngpackages="Conari/1.5.0"

Product Versions
.NET net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows
.NET Core netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1
.NET Standard netstandard2.0 netstandard2.1
.NET Framework net40 net403 net45 net451 net452 net46 net461 net462 net463 net47 net471 net472 net48 net481
MonoAndroid monoandroid
MonoMac monomac
MonoTouch monotouch
Tizen tizen40 tizen60
Xamarin.iOS xamarinios
Xamarin.Mac xamarinmac
Xamarin.TVOS xamarintvos
Xamarin.WatchOS xamarinwatchos
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Conari:

Package Downloads
LunaRoad

LunaRoad is a flexible platform for working with Lua for .NET /DLR & Lambda features. Open Source project under the MIT License. ⚠ LunaRoad now is 🗦🌔 LuNari ⮱ renamed on 27 Jan 2019 Current packages are no longer maintained. Please consider upgrading to modern LuNari ! NETFX and .NET Core support 📦 https://www.nuget.org/packages/LuNari

LuNari

🗦🌔 LuNari is Lua for .NET on Conari engine All actual Lua versions, like: Lua 5.4, 5.3, 5.2, 5.1, ... MIT License: https://github.com/3F/LuNari ## Why LuNari ? Most popular features that will be adapted to your needs on the fly. 🔍 Easy to start: ```csharp using(var l = new Lua<ILua53>("Lua.dll")) { /* ILua51, ILua52, ILua53, ... */ } ``` 🚀 Awesome speed: Based on the fast versions of Conari engine with caching of 0x29 opcodes (Calli). https://github.com/3F/Conari#why-conari- 🔨 Its amazing dynamic features: ```csharp using(dynamic l = new LuaD("Lua.dll")) { // Lua now is yours ~ IntPtr L = l.luaL_newstate<LuaState>(); var num = l.lua_tonumber<LuaNumber>(L, 1); } ``` 🍱 Damn customizable: ```csharp var l = new Lua<ILua52>("Lua52.dll"); l.API.pushcclosure(L, onProc, 0); l.bind<Action<LuaState, LuaCFunction, int>>("pushcclosure")(L, onProc, 0); l.v<ILua53>().pushcclosure(L, onProc, 0); ... ``` 🔖 Modern .NET Core LuNari is ready for .NET Core starting from 1.6. Its awesome dynamic features are also available even for .NET Standard 2.0 https://github.com/3F/Conari/issues/13 🌚 Unlimited extensible features: Since this works through Conari ( https://github.com/3F/Conari ), you can access to all newest features of the Lua immediately after introducing this in draft. Just use it without waiting for release. ======================================= gnt /p:ngpackages="LuNari/1.6.0" ================== https://github.com/3F/GetNuTool Build info: S_NUM: 1.6.0 S_REV: 24296 S_NUM_REV: 1.6.0.24296 bSha1: 920c7a6 bName: master bRevc: 52 Configuration: PublicRelease Platforms: net40;net472;netstandard2.0 revDeltaBase: 2017/02/07 revDeltaMin: 1000 revDeltaMax: 65534 :: generated by a vsSolutionBuildEvent v1.14.0.36854

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on Conari:

Repository Stars
3F/DllExport
.NET DllExport with .NET Core support (aka 3F/DllExport aka DllExport.bat)
Version Downloads Last updated
1.5.0 2,878 5/31/2021
1.4.0 3,809 11/30/2019
1.3.0 3,227 1/27/2017