Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
 /// <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;
 }