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>();
 }
示例#2
0
        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>();
        }
示例#3
0
        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());
        }
示例#4
0
        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();
        }