private void LoadServices() { var loader = new PluginLoader(); loader.AddDirectory(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), false); loader.AddFromTreeMatch(@"Services\MPExtended.Services.*", "MPExtended.Services.*.dll", @"Plugins\Services"); loader.AddRequiredMetadata("ServiceName"); services = loader.GetPlugins<IService>(); wcfServices = loader.GetPlugins<IWcfService>(); }
private void LoadServices() { var loader = new PluginLoader(); loader.AddDirectory(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), false); loader.AddFromTreeMatch(@"Services\MPExtended.Services.*", "MPExtended.Services.*.dll", @"Plugins\Services"); loader.AddRequiredMetadata("ServiceName"); services = loader.GetPlugins <IService>(); wcfServices = loader.GetPlugins <IWcfService>(); }
private static List <string> RegisterExtensions(ExtensionFinder finder, PluginLoader loader, string logName, bool requireBinary) { var directories = finder.GetDirectories() .Where(dir => !requireBinary || Directory.Exists(Path.Combine(dir, "bin"))); if (directories.Count() > 0) { Log.Debug("Installed {0}:", logName); foreach (var dir in directories) { bool hasBinary = Directory.Exists(Path.Combine(dir, "bin")); Log.Debug("- {0} {1}", Path.GetFileName(dir), hasBinary ? " (with binary)" : ""); if (hasBinary) { loader.AddDirectory(Path.Combine(dir, "bin"), true); } } } return(directories .Select(x => Path.GetFileName(x)) .ToList()); }
private static List<string> RegisterExtensions(ExtensionFinder finder, PluginLoader loader, string logName, bool requireBinary) { var directories = finder.GetDirectories() .Where(dir => !requireBinary || Directory.Exists(Path.Combine(dir, "bin"))); if (directories.Count() > 0) { Log.Debug("Installed {0}:", logName); foreach (var dir in directories) { bool hasBinary = Directory.Exists(Path.Combine(dir, "bin")); Log.Debug("- {0} {1}", Path.GetFileName(dir), hasBinary ? " (with binary)" : ""); if (hasBinary) loader.AddDirectory(Path.Combine(dir, "bin"), true); } } return directories .Select(x => Path.GetFileName(x)) .ToList(); }