/// <summary> /// Effettua la ricerca delle dll richieste dal modulo corrente andando a cercare nella cartella del modulo stesso /// </summary> /// <param name="args"></param> /// <param name="configurationModule"></param> /// <returns></returns> private Assembly OnCurrentDomainAssemblyResolve(ResolveEventArgs args, Module configurationModule) { try { // Cerco prima nelle Assembly già caricate dal Domain var currentAssemblies = AppDomain.CurrentDomain.GetAssemblies(); foreach (var t in currentAssemblies.Where(t => t.FullName == args.Name)) { return(t); } // Se non trovo allora cerco nelle directory return(AssemblyResolver(args, new DirectoryInfo(configurationModule.FullAssemblyPath).Parent)); } catch (Exception ex) { Enabled = false; Tools.SendMessage(String.Format("{0} v.{1}", Name, JeepModule.Version), new MessageEventArgs(String.Format("Errore in fase di recupero dll: {0}", ex.Message))); } return(null); }
/// <summary> /// Costruttore della classe /// </summary> /// <param name="configurationModule">Il modulo che deve essere istanziato ed eseguito</param> public ThreadedModule(Module configurationModule) { ConfigurationModule = configurationModule; InitializeLogger(); ModuleInitialized = false; }