Conari 1.4.0

.NET Core 2.1 .NET Standard 2.0 .NET Framework 4.0
There is a newer version of this package available.
See the version list below for details.
Install-Package Conari -Version 1.4.0
dotnet add package Conari --version 1.4.0
<PackageReference Include="Conari" Version="1.4.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Conari --version 1.4.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Conari, 1.4.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. 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.4.0

// Install Conari as a Cake Tool
#tool nuget:?package=Conari&version=1.4.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

🧬 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
.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
.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
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 1,297 5/31/2021
1.4.0 2,884 11/30/2019
1.3.0 2,949 1/27/2017