See the version list below for details.
dotnet add package UnmanagedExports --version 188.8.131.5262
NuGet\Install-Package UnmanagedExports -Version 184.108.40.20662
<PackageReference Include="UnmanagedExports" Version="220.127.116.1162" />
paket add UnmanagedExports --version 18.104.22.16862
#r "nuget: UnmanagedExports, 22.214.171.12462"
// Install UnmanagedExports as a Cake Addin #addin nuget:?package=UnmanagedExports&version=126.96.36.19962 // Install UnmanagedExports as a Cake Tool #tool nuget:?package=UnmanagedExports&version=188.8.131.5262
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)
|Product||Versions Compatible and additional computed target framework versions.|
|.NET Framework||net is compatible.|
This package has no dependencies.
NuGet packages (4)
Showing the top 4 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 (11)
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 Powershell without software restrictions.
- The Metadata assemby is signed now. (So you can create signed assemblies with exports)
- Placing [DllExport] on non-static methods will now yield an error.
- Placing [DllExport] on methods in generic types (or types nested in generic types) will yield an error.
- Errors regarding lib.exe will no longer break the build.
- Added support for generic return types. Even the most esotheric corner cases (obfuscated types) should work.
- Made the code that checks method names and class names much more resilient and faster.
- Most messages are localizable now (and I translated them to German).