Skip to content

ied206/Joveler.DynLoader

Repository files navigation

Joveler.DynLoader

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 AppVeyor CI Master Branch Build Status
Develop AppVeyor CI Develop Branch Build Status
Azure Pipelines Master Azure Pipelines CI Master Branch Build Status
Develop Azure Pipelines CI Develop Branch Build Status

Install

Joveler.DynLoader can be obtained via nuget.

NuGet

Features

  • DynLoaderBase, the cross-platform abstract class designed to wrap native library easily.
  • LoadManagerBase, the abstract class helps developers to manage DynLoaderBase instance in a thread-safe way.
  • Platform convention helper properties and methods.

Support

Targeted .NET platforms

  • .NET Core 3.1
  • .NET Standard 2.0 (.NET Framework 4.6.1+, .NET Core 2.0+)
  • .NET Framework 4.5.1

Tested OS platforms

Platform Implementation Tested
Windows NativeLibrary, LoadLibraryEx x86, x64, arm64
Linux NativeLibrary, libdl x64, armhf, arm64
macOS NativeLibrary, libdl x64, arm64

Helps needed!

  • 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.

Usage

See USAGE.md.

Changelog

See CHANGELOG.md.

License

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.