Prise

by merken

merken /Prise

A .NET Core plugin framework.

158 Stars 17 Forks Last release: Not found MIT License 382 Commits 0 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

What is Prise?

Prise Logo

Prise is a plugin framework for .NET Core applications, written in .NET Core. The goal of Prise, is enable you to write decoupled pieces of code using the least amount of effort, whilst maximizing the customizability. Prise helps you load plugins from foreign assemblies. It is built to decouple the local and remote dependencies, and strives to avoid assembly mismatches.

Prise features: - Easy setup - Eager and Lazy loading of plugins - Fully customizable loading of plugins - Loading plugins with their own dependencies - Loading plugins over the network - Supporting backwards compatibility for older plugins

Builds and Tests

alt text

alt text

alt text

alt text

alt text

alt text

alt text

alt text

alt text

Latest version

| Nuget | Package | | --- | --- | | NuGet Badge | Prise | | NuGet Badge | Prise.Mvc | | NuGet Badge | Prise.Proxy | | NuGet Badge | Prise.Plugin | | NuGet Badge | Prise.PluginBridge | | NuGet Badge | Prise.AssemblyScanning.Discovery | | NuGet Badge | Prise.AssemblyScanning.Discovery.Nuget |

How does Prise work ?

At the heart, Prise uses a DispatchProxy of your contract. Every call to a method channels through this proxy and is delegated to the loaded plugin.

Prise does not require the plugin to implement the interface provided by the contract, allowing you to extend the contract going forward, whilst still keeping your old plugins backwards compatible. You can customize Prise to fit your needs, examples of this are: - Loading plugins from over the network - Loading plugins based on a condition at runtime (Environment Variable) - Loading multiple plugins and choosing which one fits the purpose for a specific task - Loading lazily or eagerly

Please see the getting started to check out the various example projects.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.