advancedlsupport - Mono.DllMap 1.0.0-CI00084
An alternative approach to your typical P/Invoke.
PM> Install-Package Mono.DllMap -Version 1.0.0-CI00084 -Source https://www.myget.org/F/advancedlsupport/api/v3/index.json
> nuget.exe install Mono.DllMap -Version 1.0.0-CI00084 -Source https://www.myget.org/F/advancedlsupport/api/v3/index.json
> dotnet add package Mono.DllMap --version 1.0.0-CI00084 --source https://www.myget.org/F/advancedlsupport/api/v3/index.json
source https://www.myget.org/F/advancedlsupport/api/v3/index.json
nuget Mono.DllMap ~> 1.0.0-CI00084
Copy to clipboard
> choco install Mono.DllMap --version 1.0.0-CI00084 --source https://www.myget.org/F/advancedlsupport/api/v2
Import-Module PowerShellGet
Register-PSRepository -Name "advancedlsupport" -SourceLocation "https://www.myget.org/F/advancedlsupport/api/v2"
Install-Module -Name "Mono.DllMap" -RequiredVersion "1.0.0-CI00084" -Repository "advancedlsupport" -AllowPreRelease
Copy to clipboard
Browse the sources in this package using Visual Studio or WinDbg by configuring the following legacy symbol server URL: https://www.myget.org/F/advancedlsupport/symbols/
AdvancedDLSupport
Alternative approach to your usual P/Invoke!
Use C# interfaces to bind to native code - quick and easy usage of C API in C# code, on any platform.
Gone are the days of broken DllImport and annoying workarounds for the different runtimes.
Fully compatible with Mono, .NET Framework, .NET Core, and .NET Standard. Compatible with Mono DLL mapping on all platforms and runtimes. Configurable and adaptible.
Why use ADL?
- Modern API - no more static classes, no more
extern. Use your native API as if it were first-class objects. - Flexibility - Inject your native API into your classes, change the library scanning logic, mix your managed and native code.
- Speed - ADL is blazing fast, and gives your native interop an edge. See performance increases that are at least 2 and up to 8 times faster than other, existing solutions.
- Easy to use - Not only is ADL simple to set up and get working, it's a breeze to maintain, and reduces clutter in your codebase.
Read the Docs, or install via NuGet and get started.
Features
- Supports all the typical P/Invoke patterns and constructs
- Seamlessly mix native functions and managed code
- Use more complex types, such as
Nullable<T>andstringwithout any extra code - Select library architectures at runtime
- Select library names at runtime
- Swappable native library search algorithms
- Import global variables
- Optional lazy loaded symbols
- Optional Mono DllMap support
Basic Usage
Declare your interface
public interface IMyNativeLibrary { long MyNativeGlobal { get; set; } int MyNativeMultiply(int a, int b); void MyOtherNativeFunction(MyStruct strct, ref MyStruct? maybeStruct); }Activate it
const string MyLibraryName = "MyLibrary"; var activator = new NativeLibraryBuilder(); var library = activator.ActivateInterface<IMyNativeLibrary>(MyLibraryName);Use it
library.MyNativeGlobal = 10; var result = library.MyNativeMultiply(5, 5); var myStruct = new MyStruct(); MyStruct? myOtherStruct = null; library.MyOtherNativeFunction(myStruct, ref myOtherStruct);
See the Quickstart for more information.
Installation
Get it on NuGet!
Support me
License
If the library's license doesn't fit your project or product, please contact us. Custom licensing options are available, and we are always open to working something out that fits you - be it modified, commercial, or otherwise.
AdvancedDLSupport's public release is licensed under the GNU Lesser General Public License, Version 3 (LGPLv3). See the LICENSE for details. Without the support of the open-source movement, it would never have existed.
Relicense under LGPLv3.
- .NETStandard 2.0: 2.0.0.0
| Assembly | Assembly hash | Match |
|---|---|---|
| /lib/netstandard2.0/mono.dllmap.dll | e91396c2824c46068da73af6fe47e5c1FFFFFFFF |
OwnersJarl Gullberg |
AuthorsFirwood Software |
Project URLhttps://github.com/Firwood-Software/AdvanceDLSupport |
LicenseGPL-3.0 |
Tagsp/invoke cross-platform mono netcore netstandard native interop |
Info7 total downloads |
| 3 downloads for version 1.0.0-CI00084 |
| Download (13.83 KB) |
| Download legacy symbols (30.92 KB) |
| Found on the current feed only |
Package history
| Version | Size | Last updated | Downloads | Mirrored? | |||
|---|---|---|---|---|---|---|---|
|
|
1.0.0-CI00084 | 13.83 KB | Mon, 24 Sep 2018 16:48:28 GMT | 3 |
|
||
|
|
1.0.0-CI00083 | 13.71 KB | Mon, 17 Sep 2018 16:50:54 GMT | 0 |
|
||
|
|
1.0.0-CI00082 | 13.71 KB | Sun, 16 Sep 2018 13:54:24 GMT | 0 |
|
||
|
|
1.0.0-CI00081 | 13.71 KB | Fri, 14 Sep 2018 17:39:53 GMT | 0 |
|
||
|
|
1.0.0-CI00080 | 13.71 KB | Fri, 14 Sep 2018 17:27:57 GMT | 0 |
|
||
|
|
1.0.0-CI00079 | 13.71 KB | Fri, 14 Sep 2018 15:25:58 GMT | 0 |
|
||
|
|
1.0.0-CI00078 | 13.71 KB | Wed, 12 Sep 2018 14:44:19 GMT | 0 |
|
||
|
|
1.0.0-CI00077 | 13.71 KB | Wed, 05 Sep 2018 15:30:02 GMT | 0 |
|
||
|
|
1.0.0-CI00076 | 13.71 KB | Sun, 26 Aug 2018 16:42:29 GMT | 1 |
|
||
|
|
1.0.0-CI00075 | 13.71 KB | Sat, 25 Aug 2018 19:46:35 GMT | 0 |
|
||
|
|
1.0.0-CI00074 | 13.71 KB | Fri, 17 Aug 2018 19:51:59 GMT | 0 |
|
||
|
|
1.0.0-CI00073 | 13.71 KB | Fri, 17 Aug 2018 19:25:16 GMT | 0 |
|
||
|
|
1.0.0-CI00071 | 13.71 KB | Thu, 26 Jul 2018 19:06:08 GMT | 0 |
|
||
|
|
1.0.0-CI00070 | 13.71 KB | Sun, 22 Jul 2018 12:12:10 GMT | 0 |
|
||
|
|
1.0.0-CI00069 | 13.71 KB | Sat, 28 Apr 2018 08:31:48 GMT | 0 |
|
||
|
|
1.0.0-CI00068 | 13.71 KB | Thu, 26 Apr 2018 08:38:55 GMT | 1 |
|
||
|
|
1.0.0-CI00067 | 13.71 KB | Wed, 25 Apr 2018 12:12:35 GMT | 0 |
|
||
|
|
1.0.0-CI00066 | 13.71 KB | Mon, 23 Apr 2018 14:18:36 GMT | 0 |
|
||
|
|
1.0.0-CI00065 | 13.71 KB | Mon, 23 Apr 2018 13:18:18 GMT | 0 |
|
||
|
|
1.0.0-CI00064 | 13.71 KB | Mon, 23 Apr 2018 12:40:26 GMT | 0 |
|
||
|
|
1.0.0-CI00063 | 13.71 KB | Fri, 20 Apr 2018 15:51:14 GMT | 0 |
|
||
|
|
1.0.0-CI00062 | 13.71 KB | Wed, 18 Apr 2018 17:46:13 GMT | 0 |
|
||
|
|
1.0.0-CI00061 | 13.71 KB | Wed, 18 Apr 2018 10:42:57 GMT | 0 |
|
||
|
|
1.0.0-CI00060 | 13.71 KB | Tue, 17 Apr 2018 15:08:02 GMT | 0 |
|
||
|
|
1.0.0-CI00059 | 13.7 KB | Tue, 17 Apr 2018 13:22:26 GMT | 0 |
|
||
|
|
1.0.0-CI00058 | 13.7 KB | Sat, 14 Apr 2018 20:19:58 GMT | 0 |
|
||
|
|
1.0.0-CI00057 | 13.7 KB | Fri, 13 Apr 2018 17:50:47 GMT | 0 |
|
||
|
|
1.0.0-CI00056 | 13.56 KB | Fri, 13 Apr 2018 10:09:22 GMT | 0 |
|
||
|
|
1.0.0-CI00055 | 13.56 KB | Fri, 23 Mar 2018 15:55:48 GMT | 0 |
|
||
|
|
1.0.0-CI00054 | 13.56 KB | Tue, 20 Mar 2018 20:05:01 GMT | 0 |
|
||
|
|
1.0.0-CI00053 | 13.56 KB | Tue, 20 Mar 2018 17:33:42 GMT | 0 |
|
||
|
|
1.0.0-CI00052 | 13.56 KB | Tue, 20 Mar 2018 13:42:12 GMT | 0 |
|
||
|
|
1.0.0-CI00051 | 13.56 KB | Tue, 20 Mar 2018 12:59:59 GMT | 0 |
|
||
|
|
1.0.0-CI00050 | 13.56 KB | Mon, 19 Mar 2018 16:25:32 GMT | 0 |
|
||
|
|
1.0.0-CI00049 | 13.56 KB | Mon, 19 Mar 2018 11:25:57 GMT | 2 |
|
||
|
|
1.0.0-CI00048 | 13.56 KB | Sun, 18 Mar 2018 15:24:28 GMT | 0 |
|
||
|
|
1.0.0-CI00047 | 13.56 KB | Sun, 18 Mar 2018 14:39:39 GMT | 0 |
|
||
|
|
1.0.0-CI00046 | 13.47 KB | Thu, 22 Feb 2018 11:47:22 GMT | 0 |
|
||
|
|
1.0.0-CI00045 | 13.46 KB | Wed, 21 Feb 2018 17:21:49 GMT | 0 |
|
||
|
|
1.0.0-CI00044 | 13.46 KB | Wed, 21 Feb 2018 13:00:21 GMT | 0 |
|
||
|
|
1.0.0-CI00043 | 13.27 KB | Tue, 20 Feb 2018 10:17:10 GMT | 0 |
|
||
|
|
1.0.0-CI00042 | 13.27 KB | Mon, 19 Feb 2018 14:50:25 GMT | 0 |
|
||
|
|
1.0.0-CI00041 | 13.27 KB | Mon, 19 Feb 2018 14:40:51 GMT | 0 |
|
||
|
|
1.0.0-CI00040 | 13.27 KB | Mon, 19 Feb 2018 14:23:27 GMT | 0 |
|
||
|
|
1.0.0-CI00039 | 13.27 KB | Mon, 19 Feb 2018 14:17:30 GMT | 0 |
|
||
|
|
1.0.0-CI00038 | 13.27 KB | Mon, 19 Feb 2018 14:09:03 GMT | 0 |
|
||
|
|
1.0.0-CI00037 | 13.27 KB | Mon, 19 Feb 2018 13:24:34 GMT | 0 |
|
||
|
|
1.0.0-CI00036 | 13.27 KB | Sat, 17 Feb 2018 17:37:00 GMT | 0 |
|
||
|
|
1.0.0-CI00035 | 13.27 KB | Wed, 14 Feb 2018 20:05:51 GMT | 0 |
|
||
|
|
1.0.0-CI00034 | 13.27 KB | Mon, 12 Feb 2018 12:55:14 GMT | 0 |
|
||
|
|
1.0.0-CI00033 | 13.27 KB | Mon, 12 Feb 2018 12:46:41 GMT | 0 |
|
||
|
|
1.0.0-CI00032 | 13.27 KB | Sat, 10 Feb 2018 21:00:19 GMT | 0 |
|
||
|
|
1.0.0-CI00031 | 13.27 KB | Sat, 10 Feb 2018 20:50:06 GMT | 0 |
|
||
|
|
1.0.0-CI00029 | 13.28 KB | Thu, 08 Feb 2018 23:24:26 GMT | 0 |
|
||
|
|
1.0.0-CI00027 | 13.27 KB | Thu, 08 Feb 2018 23:16:27 GMT | 0 |
|
||
|
|
1.0.0-CI00026 | 13.27 KB | Thu, 08 Feb 2018 22:40:00 GMT | 0 |
|
||
|
|
1.0.0-CI00025 | 13.27 KB | Tue, 06 Feb 2018 16:27:28 GMT | 0 |
|
||
|
|
1.0.0-CI00023 | 13.27 KB | Tue, 06 Feb 2018 14:18:35 GMT | 0 |
|
||
|
|
1.0.0-CI00022 | 13.27 KB | Tue, 06 Feb 2018 14:08:50 GMT | 0 |
|
||
|
|
1.0.0-CI00021 | 13.27 KB | Tue, 06 Feb 2018 13:57:54 GMT | 0 |
|
||
|
|
1.0.0-CI00020 | 13.27 KB | Tue, 06 Feb 2018 12:33:49 GMT | 0 |
|
||
|
|
1.0.0-CI00019 | 13.27 KB | Tue, 06 Feb 2018 11:26:36 GMT | 0 |
|
||
|
|
1.0.0-CI00018 | 13.27 KB | Tue, 06 Feb 2018 11:20:42 GMT | 0 |
|
||
|
|
1.0.0-CI00017 | 13.27 KB | Sun, 04 Feb 2018 18:38:44 GMT | 0 |
|
||
|
|
1.0.0-CI00016 | 13.27 KB | Sun, 04 Feb 2018 18:26:03 GMT | 0 |
|
||
|
|
1.0.0-CI00015 | 13.27 KB | Sat, 03 Feb 2018 22:25:20 GMT | 0 |
|
||
|
|
1.0.0-CI00014 | 13.27 KB | Sat, 03 Feb 2018 16:40:27 GMT | 0 |
|
||
|
|
1.0.0-CI00013 | 13.27 KB | Sat, 03 Feb 2018 16:30:26 GMT | 0 |
|
||
|
|
1.0.0-CI00012 | 13.27 KB | Sat, 03 Feb 2018 15:16:47 GMT | 0 |
|
||
|
|
1.0.0-CI00011 | 13.27 KB | Fri, 19 Jan 2018 20:07:13 GMT | 0 |
|
||
|
|
1.0.0-CI00010 | 13.27 KB | Fri, 05 Jan 2018 22:40:59 GMT | 0 |
|
||
|
|
1.0.0-CI00009 | 13.27 KB | Sat, 30 Dec 2017 12:41:32 GMT | 0 |
|
