Conari 1.5.0
dotnet add package Conari --version 1.5.0
NuGet\Install-Package Conari -Version 1.5.0
<PackageReference Include="Conari" Version="1.5.0" />
paket add Conari --version 1.5.0
#r "nuget: Conari, 1.5.0"
// 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.
[ 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
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 |
-
.NETCoreApp 2.1
- Microsoft.CSharp (>= 4.7.0)
- System.Reflection.Emit (>= 4.7.0)
- System.Reflection.Emit.Lightweight (>= 4.7.0)
-
.NETFramework 4.0
- No dependencies.
-
.NETFramework 4.7.2
- No dependencies.
-
.NETStandard 2.0
- Microsoft.CSharp (>= 4.7.0)
- System.Reflection.Emit (>= 4.7.0)
- System.Reflection.Emit.Lightweight (>= 4.7.0)
-
.NETStandard 2.1
- Microsoft.CSharp (>= 4.7.0)
- System.Reflection.Emit (>= 4.7.0)
- System.Reflection.Emit.Lightweight (>= 4.7.0)
-
net5.0
- Microsoft.CSharp (>= 4.7.0)
- System.Reflection.Emit (>= 4.7.0)
- System.Reflection.Emit.Lightweight (>= 4.7.0)
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)
|