public HotPluginLoader(String pluginsPath, Action<String> logWriter) { if (!Directory.Exists(pluginsPath)) { logWriter("Plugins directory does not exist!"); return; } _pluginsPath = pluginsPath; _logWriter = logWriter; _fileSystemWatcher = new BasicFileSystemWatcher(_pluginsPath); _fileSystemWatcher.Added += FileSystemWatcherOnAdded; _fileSystemWatcher.Removed += FileSystemWatcherOnRemoved; _plugins = new Dictionary<String, List<HotPlugin>>(); IEnumerable<String> assemblies = GetAssemblyFiles(); foreach (var assemblyPath in assemblies) { LoadPluginsFromAssembly(assemblyPath); } }
public HotPluginLoader(String pluginsPath, Action <String> logWriter) { if (!Directory.Exists(pluginsPath)) { logWriter("Plugins directory does not exist!"); return; } _pluginsPath = pluginsPath; _logWriter = logWriter; _fileSystemWatcher = new BasicFileSystemWatcher(_pluginsPath); _fileSystemWatcher.Added += FileSystemWatcherOnAdded; _fileSystemWatcher.Removed += FileSystemWatcherOnRemoved; _plugins = new Dictionary <String, List <HotPlugin> >(); IEnumerable <String> assemblies = GetAssemblyFiles(); foreach (var assemblyPath in assemblies) { LoadPluginsFromAssembly(assemblyPath); } }