Exemple #1
0
        //had remove to program.cs
        private static void AssemblyLoadContextResoving(IPluginsAssemblyLoadContexts pluginsLoadContexts)
        {
            //AssemblyLoadContext.Default.Resolving += (context, assembly) =>
            //{
            //    assembly.Version = assembly.Version ?? new Version("0.0.0.0");
            //    Func<AssemblyLoadContext, bool> filter = p => p.Assemblies.Any(p => p.GetName().Name == assembly.Name
            //                                            && p.GetName().Version == assembly.Version);

            //    if (pluginsLoadContexts.All().Any(filter))
            //    {
            //        var assemblyLoadContext = pluginsLoadContexts.All().First(filter);
            //        Assembly ass = assemblyLoadContext.Assemblies.First(p => p.GetName().Name == assembly.Name
            //            && p.GetName().Version == assembly.Version);
            //        return ass;
            //    }
            //    if(AssemblyLoadContext.All.Any(filter))
            //    {
            //        var assemblyLoadContext = AssemblyLoadContext.All.First(filter);
            //        Assembly ass = assemblyLoadContext.Assemblies.First(p => p.GetName().Name == assembly.Name
            //            && p.GetName().Version == assembly.Version);
            //        return ass;
            //    }
            //    return null;
            //};
        }
        public PluginManagerService(IMapper mapper,
                                    IMvcModuleSetup mvcModuleSetup,
                                    IPluginsAssemblyLoadContexts puginsAssemblyLoadContexts, AutoMigration autoMigration)
        {
            Mapper = mapper;

            _mvcModuleSetup             = mvcModuleSetup;
            _puginsAssemblyLoadContexts = puginsAssemblyLoadContexts;
            _autoMigration = autoMigration;
        }
Exemple #3
0
 public MvcModuleSetup(ApplicationPartManager partManager, IReferenceLoader referenceLoader,
                       IPluginsAssemblyLoadContexts pluginsLoadContexts, DynamicChangeTokenProvider dynamicChangeTokenProvider,
                       INotificationRegister notificationRegister, IOptions <PluginOptions> options, IWebHostEnvironment webHostEnvironment, IRazorViewEngine razorViewEngine, IViewCompilerProvider viewCompiler)
 {
     _partManager                = partManager;
     _referenceLoader            = referenceLoader;
     _pluginsLoadContexts        = pluginsLoadContexts;
     _dynamicChangeTokenProvider = dynamicChangeTokenProvider;
     _notificationRegister       = notificationRegister;
     _pluginOptions              = options.Value;
     _env = webHostEnvironment;
     //_baseDirectory = AppContext.BaseDirectory;
     _baseDirectory   = _env.ContentRootPath;
     _razorViewEngine = razorViewEngine;
     _viewCompiler    = viewCompiler;
 }