private void InitializePlugins(ComposablePartCatalog catalog)
{
var pluginManager = PluginManagerFactory.Create(catalog);
_plugins = pluginManager.Plugins;
foreach (var plugin in Plugins)
{
_log.InfoFormat("Initializing plugin '{0}'.", plugin.Name);
try
{
plugin.Initialize();
_log.InfoFormat("'{0}' initialized successfuly", plugin.Name);
}
catch(Exception ex)
{
_log.ErrorFormat("Plugin '{0}' failed to initialize and will be disabled. See next entry for more details.", plugin.Name);
_log.Error(ex);
plugin.Enabled = false;
}
}
}