public Type[] GetModules() { var modules = new List <Type>(); foreach (var filePath in _filePaths) { var assembly = AssemblyLoadContext.Default.LoadFromAssemblyPath(filePath); try { foreach (var type in assembly.GetTypes()) { if (ScorpioModule.IsModule(type)) { modules.AddIfNotContains(type); } } } catch (Exception ex) { throw new ScorpioException("Could not get module types from assembly: " + assembly.FullName, ex); } } return(modules.ToArray()); }
public Type[] GetModules() { var modules = new List <Type>(); foreach (var filePath in _filePaths) { var assembly = _plugInSourceLists.AssemblyLoadContext.LoadFromStream( _plugInSourceLists.FileProvider.GetFileInfo(filePath) .CreateReadStream()); try { foreach (var type in assembly.GetTypes()) { if (ScorpioModule.IsModule(type)) { modules.AddIfNotContains(type); } } } catch (Exception ex) { throw new ScorpioException("Could not get module types from assembly: " + assembly.FullName, ex); } } return(modules.ToArray()); }
public Type[] GetModules() { var modules = new List <Type>(); foreach (var assembly in GetAssemblies()) { try { foreach (var type in assembly.GetTypes()) { if (ScorpioModule.IsModule(type)) { modules.AddIfNotContains(type); } } } catch (ReflectionTypeLoadException) { continue; } catch (Exception ex) { throw new ScorpioException("Could not get module types from assembly: " + assembly.FullName, ex); } } return(modules.ToArray()); }