IdentityBase icon indicating copy to clipboard operation
IdentityBase copied to clipboard

Refactor plugin architecture to suck less

Open aruss opened this issue 7 years ago • 0 comments

Current plugin architecture is inspired more or less by ExtCore so you have a bunch of folders with lot of dlls and you load them on app start in your current app domain, that works but it is a crappy way to do it, since you don't use the whole fancy dotnet core lazy assembly loading stuff but instead loading all the assemblies on startup.

Another idea would be to check out NopCommerce they just copy all the assemblies to one directory and just load the initial assemblies of each plugin, the rest will be discovered automatically since all the required assemblies are in one folder. This way the startup times wouldn't increase, but it is still crap since it copies files around and if your process breaks in the middle of it the application ends up in crippled and you have to handle such cases.

It would be nice if probing path feature would work like it worked in former .net versions. Then you would just need to change a configuration for additional plugins and load only the initial assembly of each active plugin manually. But this feature does not work as expected in current dotnet core version, see https://github.com/dotnet/coreclr/issues/18683

If someone has a nice idea to make it simple, please share

aruss avatar Jul 04 '18 15:07 aruss