Base solution for your next web application
Open Closed

Plugins using different versions of the same package #7330


User avatar
0
MBTLGPLC19 created

Hello, I'm creating an asp.net core application where we will be injecting different plugins. In https://support.aspnetzero.com/QA/Questions/2513 I saw that ABP is able to load the plugin dependencies if they are in the same folder.

In our case, each plugin can (and will) have its own dependencies at some time. They are going to be developped, kept and released in different timelines (so we cannot update and release all of them at once). So we will have the following scenarios:

a) 2 Plugins being used at the same time that depends of different versions of the same dll APPLICATION PLUGIN_A |-- DLL_A V_1.0.0 PLUGIN_B |-- DLL_A V_3.0.0

a.2) The plugin_a was updated, so now the 2 of them run with the same dll version APPLICATION PLUGIN_A |-- DLL_A V_3.0.0 PLUGIN_B |-- DLL_A V_3.0.0

b) Plugin with a different dll version than the one we are using in the application APPLICATION |-- DLL_B V.2.0.0 PLUGIN_A |-- DLL_B V.1.0.0

b.1) Plugin was updated so it now uses the same dll version in the application APPLICATION |-- DLL_B V.2.0.0 PLUGIN_A |-- DLL_B V.2.0.0

So, how I can accomplish this? By creating plugin subfolders and adding the plugin and its dependencies there (even if it's lower than the one we have in the bin ?) and ABP will do the job for us? Or by embedding the plugin's dependencies in its dll and loading it? (If so, can you provide a sample or some code where we do this using ABP ?)


1 Answer(s)
  • User Avatar
    0
    ismcagdas created
    Support Team

    Hi @MBTLGPLC19

    Actaully we haven't tried such scenarios with ABPs plugin system. But, if different plugins or the main app uses different versions of a dll, probably you will have some problems.

    If you can try those scenarios with a basic plugin dll and face some problems, you can report it here or https://github.com/aspnetboilerplate/aspnetboilerplate and we can try to help you.