Joveler.DynLoader
is the cross-platform native dynamic library loader for .NET.
The library provides advanced p/invoke functionality of C functions using NativeLibrary, LoadLibraryEx and libdl. It supports Windows, Linux, and macOS.
CI Server | Branch | Build Status |
---|---|---|
AppVeyor | Master | |
Develop | ||
Azure Pipelines | Master | |
Develop |
Joveler.DynLoader
can be obtained via nuget.
DynLoaderBase
, the cross-platform abstract class designed to wrap native library easily.LoadManagerBase
, the abstract class helps developers to manageDynLoaderBase
instance in a thread-safe way.- Platform convention helper properties and methods.
- .NET Core 3.1
- Depends on .NET's NativeLibrary.
- .NET Standard 2.0 (.NET Framework 4.6.1+, .NET Core 2.0+)
- .NET Framework 4.5.1
- Depends on LoadLibraryEx and libdl native API.
Platform | Implementation | Tested |
---|---|---|
Windows | NativeLibrary, LoadLibraryEx | x86, x64, arm64 |
Linux | NativeLibrary, libdl | x64, armhf, arm64 |
macOS | NativeLibrary, libdl | x64, arm64 |
- Android support and testing
- While I guess Android support on .NET Standard 2.0 target may be similar to Linux, I do not have any time to test on Android right now.
- On .NET/.NET Core, availibity of the
NativeLibrary
on Android has not been tested yet.
See USAGE.md.
See CHANGELOG.md.
Most of the code is licensed under MIT license. Some test code is released as a public domain, to promote easy development.
The logo is Memory icon from the Material Icons, under the Apache 2.0 License.