Example
This plugin Misc.Sendinblue uses the library RestSharp.dll (106.12.0.0)
Try to install the another plugin with the the library RestSharp.dll (106.4.2.0)
It's important!!!
The second plugin has the different version of the RestSharp.dll (old or new one).
We'll see this error message
Unhandled exception. System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types.
Could not load file or assembly 'RestSharp, Version=106.12.0.0, Culture=neutral, PublicKeyToken=598062e77f915f75'. Could not find or load a specific file. (0x80131621)
at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
at Microsoft.AspNetCore.Mvc.Controllers.ControllerFeatureProvider.PopulateFeature(IEnumerable`1 parts, ControllerFeature feature)
at Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartManager.PopulateFeature[TFeature](TFeature feature)
at Microsoft.Extensions.DependencyInjection.MvcCoreMvcBuilderExtensions.AddControllersAsServices(IMvcBuilder builder)
at Nop.Web.Framework.Infrastructure.Extensions.ServiceCollectionExtensions.AddNopMvc(IServiceCollection services)
at Nop.Web.Framework.Infrastructure.NopMvcStartup.ConfigureServices(IServiceCollection services, IConfiguration configuration)
at Nop.Core.Infrastructure.NopEngine.ConfigureServices(IServiceCollection services, IConfiguration configuration)
at Nop.Web.Framework.Infrastructure.Extensions.ServiceCollectionExtensions.ConfigureApplicationServices(IServiceCollection services, WebApplicationBuilder builder)
at Program.<Main>$(String[] args)
System.IO.FileLoadException: Could not load file or assembly 'RestSharp, Version=106.12.0.0, Culture=neutral, PublicKeyToken=598062e77f915f75'. Could not find or load a specific file. (0x80131621)
File name: 'RestSharp, Version=106.12.0.0, Culture=neutral, PublicKeyToken=598062e77f915f75'
---> System.IO.FileLoadException: Could not load file or assembly 'RestSharp, Version=106.12.0.0, Culture=neutral, PublicKeyToken=598062e77f915f75'.
at System.Runtime.Loader.AssemblyLoadContext.<LoadFromPath>g____PInvoke|5_0(IntPtr ptrNativeAssemblyBinder, UInt16* ilPath, UInt16* niPath, ObjectHandleOnStack retAssembly)
at System.Runtime.Loader.AssemblyLoadContext.LoadFromAssemblyPath(String assemblyPath)
at System.Reflection.Assembly.LoadFrom(String assemblyFile)
at System.Reflection.Assembly.LoadFromResolveHandler(Object sender, ResolveEventArgs args)
at System.Runtime.Loader.AssemblyLoadContext.InvokeResolveEvent(ResolveEventHandler eventHandler, RuntimeAssembly assembly, String name)
I think we need to load the site but to write to nopcommerce log the information that the second plugin didn't install (or the plugin didn't upgrade).
The store's owner could upload plugins from different vendors with different external DLL files.