public bool HasPlugins(string path) { AppDomain.CurrentDomain.ReflectionOnlyAssemblyResolve += new ResolveEventHandler(CurrentDomain_ReflectionOnlyAssemblyResolve); System.Reflection.Assembly a = System.Reflection.Assembly.ReflectionOnlyLoadFrom(path); foreach (Type t in a.GetExportedTypes()) { if (MetaPlugin.IsPlugin(t)) { return(true); } } return(false); }
private void ProbeAssembly(System.Reflection.Assembly a) { foreach (Type t in a.GetExportedTypes()) { if (MetaPlugin.IsPlugin(t)) { MetaPlugin plugin = new MetaPlugin(t); if (!plugins.ContainsKey(plugin.Name)) { plugins.Add(plugin.Name, plugin); Logger.Info("Found plugin: " + plugin); } else { Logger.Info("Already have plugin: " + plugin); } } } }
private void ProbeAssembly(System.Reflection.Assembly a) { foreach (Type t in a.GetExportedTypes()) { if (MetaPlugin.IsPlugin(t)) { MetaPlugin plugin = new MetaPlugin(t); if (!plugins.ContainsKey(plugin.Name)) { plugins.Add(plugin.Name, plugin); Logger.Info("Found plugin: " + plugin); } else Logger.Info("Already have plugin: " + plugin); } } }