PluginLoader is a facility for loading the Plugin DLLs that constitute the Omea application, both stock and third-party.
Objectives:

  • (EXP) Enable running experimental Omea versions on different core binaries, plugins, and database without touching the primary installation.
  • (LDC) Use Load context for the core plugins instead of LoadFrom, which enables the use of GAC or NGen.
  • (PUP) Per-user plugins should still be supported.

Basics. PluginLoader should look for assembly files under the Plugin Locations and, in case the file matches the Plugin Files Mask, load the assembly and look for classes implementing the IPlugin interface, wwhich are the plugins.

Plugin Locations. There are several folders to be checked for the plugins (marked with "(lightbulb)").