public static void AddPluginsFromAssembly(this IAppHost appHost, params Assembly[] assembliesWithPlugins) { foreach (Assembly assembly in assembliesWithPlugins) { var pluginTypes = from t in assembly.GetExportedTypes() where t.GetInterfaces().Any(x => x == typeof(IPlugin)) select t; foreach (var pluginType in pluginTypes) { try { var plugin = pluginType.CreateInstance() as IPlugin; if (plugin != null) { EndpointHost.AddPlugin(plugin); } } catch (Exception ex) { log.Error("Error adding new Plugin " + pluginType.Name, ex); } } } }
public static void Start() { EndpointHost.AddPlugin(new ProtoBufFormat()); }