Conari 1.4.0
See the version list below for details.
dotnet add package Conari --version 1.4.0
NuGet\Install-Package Conari -Version 1.4.0
<PackageReference Include="Conari" Version="1.4.0" />
paket add Conari --version 1.4.0
#r "nuget: Conari, 1.4.0"
// Install Conari as a Cake Addin #addin nuget:?package=Conari&version=1.4.0 // Install Conari as a Cake Tool #tool nuget:?package=Conari&version=1.4.0
🧬 Conari engine represents powerful platform for work with unmanaged memory, pe-modules, related PInvoke features,
and more for: Libraries, Executable Modules, enjoying of the unmanaged native C/C++ in .NET world, and other raw binary data.
Even accessing to complex types like structures without their declaration at all.
## Why Conari ?
It was designed to be loyal to your needs on the fly.
🔍 Easy to start:
```
using(var l = new ConariL("...")) {
// ...
}
```
🚀 Awesome speed:
test of regXwild's algorithms [[340x10000 Unicode](https://github.com/3F/regXwild/blob/d9e4cd18e6f3fbc29b271b1feb4d8c659aa14bd7/Readme.md#speed-comparison)]
🔨 Its amazing DLR features:
```
using(dynamic l = new ConariX("..."))
{
// just everything is yours ~
l.curl_easy_setopt(curl, 10002, "http://example.com/");
}
```
🔧 Raw accessibility to any binary data in unmanaged memory:
```
ptr.Native().align<int>(2, "x", "y")
.t<IntPtr>("data")
.Raw;
```
🏄 Most powerful PInvoke and even most convenient use of WinAPI. Our recipe is simple: *Just use it!*
```
dynamic user32 = new User32();
user32.ShowWindow(0x000A0A28, 3);
user32.MessageBoxA(0, "Conari in action", "Hello!", 0);
```
```
dynamic kernel32 = new Kernel32();
kernel32.GetModuleHandleA<IntPtr>("libcurl-x64");
kernel32.GetModuleHandleW<IntPtr>((WCharPtr)ustr);
```
**Important note:** Conari does not provide anything from above. It will just generate and adapt everything at runtime. Specially for you!
🔖 Modern **.NET Core**
Conari is ready for .NET Core starting from 1.4.
But we have even more, again. https://github.com/3F/Conari/issues/13
Conari also provides support for [ .NET Standard 2.0 ] layer which does not cover unmanaged EmitCalli due to missed implementation for System.Private.CoreLib.
🍰 MIT License! Enjoy.
. . . And more: https://github.com/3F/Conari
_ _ _ _ _ _
=======================================
gnt /p:ngpackages="Conari/1.4.0"
================== https://github.com/3F/GetNuTool
Build info:
S_NUM: 1.4.0
S_REV: 48437
S_NUM_REV: 1.4.0.48437
bSha1: c4e75ee
bName: master
bRevc: 62
Configuration: PublicRelease
Platforms: net40;net472;netstandard2.0;netcoreapp2.1;netstandard2.1
revDeltaBase: 2017/01/01
revDeltaMin: 1000
revDeltaMax: 65534
:: generated by a vsSolutionBuildEvent v1.14.0.36854
Product | Versions 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. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 is compatible. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net40 is compatible. 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 is compatible. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETCoreApp 2.1
- Microsoft.CSharp (>= 4.6.0)
- System.Reflection.Emit (>= 4.6.0)
- System.Reflection.Emit.Lightweight (>= 4.6.0)
-
.NETFramework 4.0
- No dependencies.
-
.NETFramework 4.7.2
- No dependencies.
-
.NETStandard 2.0
- Microsoft.CSharp (>= 4.6.0)
- System.Reflection.Emit (>= 4.6.0)
- System.Reflection.Emit.Lightweight (>= 4.6.0)
-
.NETStandard 2.1
- Microsoft.CSharp (>= 4.6.0)
- System.Reflection.Emit (>= 4.6.0)
- System.Reflection.Emit.Lightweight (>= 4.6.0)
NuGet packages (3)
Showing the top 3 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 |
|
IeXod
The most portable alternative to Microsoft.Build for evaluating, manipulating, and other progressive data processing in a compatible XML-like syntax. https://github.com/3F/IeXod |
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)
|