dotnet add package UnmanagedExports --version 1.2.7
NuGet\Install-Package UnmanagedExports -Version 1.2.7
<PackageReference Include="UnmanagedExports" Version="1.2.7" />
paket add UnmanagedExports --version 1.2.7
#r "nuget: UnmanagedExports, 1.2.7"
// Install UnmanagedExports as a Cake Addin #addin nuget:?package=UnmanagedExports&version=1.2.7 // Install UnmanagedExports as a Cake Tool #tool nuget:?package=UnmanagedExports&version=1.2.7
A set of compile-time libraries (nothing to deploy) and a build task that enable you to export functions from managed code to native applications.
That means, you can create plugins in a managed language like C# or F# for native applications that only have a C-Api (like Notepad++).
The nuget package is all you need. Just mark your methods with [DllExport] and build for x86, x64 or ia64.
- You have to set your platform target to either x86, ia64 or x64. AnyCPU assemblies cannot export functions.
- The export name defaults to the method name and the calling convention to stdcall. If that's all what you want, you can just use [DllExport] without parameters.
- You cannot put your exports in generic types or export generic methods. (The CLR wouldn't know what type parameters to use)
This package has no dependencies.
NuGet packages (3)
Showing the top 3 NuGet packages that depend on UnmanagedExports:
Metatrader MQL library for C#
Wyam is a simple to use, highly modular, and extremely configurable static content generator. This library provides support for generating text.
GitHub repositories (10)
Showing the top 5 popular GitHub repositories that depend on UnmanagedExports:
Windows Driver and XInput Wrapper for Sony DualShock 3/4 Controllers
Run PowerShell with rundll32. Bypass software restrictions.
Methods for attacking KeePass 2.X databases, including extracting of encryption key material from memory.
Run shellcode from resource
- will use the most recent version of Microsoft.Build.Utilities.ToolLocationHelper to have a greater chance of finding the exact ildasm/ilasm for the project's target framework version
- no longer fails the build when it can't find lib.exe
- proper overridable MSBuild properties (see tools/RGiesecke.DllExport.targets)