public void Reload()
{
try
{
if (_pluginsAppDomain != null)
{
AppDomain.Unload(_pluginsAppDomain);
}
_pluginsAppDomain = AppDomain.CreateDomain("Blacker.Scrapers.AppDomain");
ReflectionHelper.LoadAssembliesFromDir(_pluginsAppDomain, "*.Scraper.dll");
var factories = ReflectionHelper.GetInstances<IScraperFactory>(_pluginsAppDomain);
_scrapers = ReflectionHelper
.GetInstances<IScraper>(_pluginsAppDomain, new[] {typeof (IScraperIgnore)})
.Concat(factories.SelectMany(f => f.GetScrapers()))
.Concat(new[] {new RecentMangaScraper()})
.ToList();
_downloadFormatProviders = ReflectionHelper
.GetInstances<IDownloadFormatProvider>(_pluginsAppDomain)
.OrderBy(dfp => dfp.Priority)
.ToList();
}
catch (Exception ex)
{
_log.Error("Unable to load scrapers and download providers.", ex);
throw;
}
}