Example of plugins system in the .NET world.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Plugin1
Plugin23
PluginsCore
PluginsHost
PluginsHostTests
WinApp
packages
.gitattributes
.gitignore
MKPluginsSystem.sln
README.md

README.md

MKPluginsSystem

Simple example of plugins system in the .NET world. Every plugin is loaded in separate AppDomain. So you are able to modify plugins at application runtime (very useful on server side).

How to use:

  • In your project add a reference to PluginsCore and PluginsHost
  • Create your plugins which inherit from PluginBase, put them into separate assembly and set build output path to directory "Plugins"
  • Use PluginCollection to load plugins by name
  • Create parental class that implement interface IParentPlugin (see class FakeHost in unit tests assembly)
  • Call method Init on every loaded plugin (constructor takes IParentPlugin)

Check the WinApp project (fully MVVM application) or check the unit tests for more information.