Conari by github.com/3F/Conari

<PackageReference Include="Conari" Version="1.4.0" />

 Conari 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

<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
  <metadata>
    <id>Conari</id>
    <version>1.4.0</version>
    <title>[ Conari ] platform for unmanaged memory, pe-modules, PInvoke and more</title>
    <authors>github.com/3F/Conari</authors>
    <owners>github.com/3F/Conari</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <license type="file">LICENSE</license>
    <licenseUrl>https://aka.ms/deprecateLicenseUrl</licenseUrl>
    <icon>Conari_v1.png</icon>
    <projectUrl>https://github.com/3F/Conari</projectUrl>
    <iconUrl>https://raw.githubusercontent.com/3F/Conari/master/Conari/Resources/Conari_v1.png</iconUrl>
    <description>🧬 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&lt;int&gt;(2, "x", "y")
                    .t&lt;IntPtr&gt;("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&lt;IntPtr&gt;("libcurl-x64");
            kernel32.GetModuleHandleW&lt;IntPtr&gt;((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</description>
    <releaseNotes>changelog: https://github.com/3F/Conari/blob/master/changelog.txt</releaseNotes>
    <copyright>Copyright (c) 2016-2019  Denis Kuzmin &lt; [email protected] &gt; GitHub/3F</copyright>
    <tags>memory unmanaged-memory exported-function DllExport unmanaged exports native c-func DllImport unmanaged-code binder binding pe-modules unmanaged-function exported-c-function export API dll cpp clang dotnet csharp pe32 pe64 pemodule Lua 7z 7zip Conari</tags>
    <repository type="git" url="https://github.com/3F/Conari" />
    <dependencies>
      <group targetFramework=".NETFramework4.0" />
      <group targetFramework=".NETFramework4.7.2" />
      <group targetFramework=".NETCoreApp2.1">
        <dependency id="Microsoft.CSharp" version="4.6.0" exclude="Build,Analyzers" />
        <dependency id="System.Reflection.Emit" version="4.6.0" exclude="Build,Analyzers" />
        <dependency id="System.Reflection.Emit.Lightweight" version="4.6.0" exclude="Build,Analyzers" />
      </group>
      <group targetFramework=".NETStandard2.0">
        <dependency id="Microsoft.CSharp" version="4.6.0" exclude="Build,Analyzers" />
        <dependency id="System.Reflection.Emit" version="4.6.0" exclude="Build,Analyzers" />
        <dependency id="System.Reflection.Emit.Lightweight" version="4.6.0" exclude="Build,Analyzers" />
      </group>
      <group targetFramework=".NETStandard2.1">
        <dependency id="Microsoft.CSharp" version="4.6.0" exclude="Build,Analyzers" />
        <dependency id="System.Reflection.Emit" version="4.6.0" exclude="Build,Analyzers" />
        <dependency id="System.Reflection.Emit.Lightweight" version="4.6.0" exclude="Build,Analyzers" />
      </group>
    </dependencies>
    <frameworkAssemblies>
      <frameworkAssembly assemblyName="Microsoft.CSharp" targetFramework=".NETFramework4.0, .NETFramework4.7.2" />
    </frameworkAssemblies>
  </metadata>
</package>