/// <summary> /// Initializes a new instance of the <see cref="PluginManager"/> class. /// </summary> /// <param name="pluginLocation">The plugin location.</param> /// <param name="Configuration">The configuration.</param> public PluginManager(string pluginLocation, PluginConfigurationBase Configuration) { Settings = new PluginValues { dllLocation = pluginLocation }; LoadPluginDll(); if (!m_isLoaded) { return; } Settings.Name = GetIPluginBasePropertyValue <string>(PluginBaseProperty.Name); Settings.Version = GetIPluginBasePropertyValue <string>(PluginBaseProperty.Version); Settings.Description = GetIPluginBasePropertyValue <string>(PluginBaseProperty.Description); Settings.hasForm = GetIPluginBasePropertyValue <bool>(PluginBaseProperty.HasWinForm); SetIPluginBasePropertyValue(PluginBaseProperty.Configuration, Configuration); }
/// <summary> /// Initializes the configuration. /// </summary> private void InitializeConfiguration( ) { ConfigurationSectionName = GetType( ).FullName; ConfigurationMap = new ExeConfigurationFileMap { ExeConfigFilename = Settings.ConfigurationFile }; System.Configuration.Configuration configuration = ConfigurationManager.OpenMappedExeConfiguration(ConfigurationMap, ConfigurationUserLevel.None); if (!configuration.Sections.Contains(ConfigurationSectionName)) { PluginConfigurationBase section = CreateConfigurationSection( ); if (section != null) { section.Enabled = true; configuration.Sections.Add(ConfigurationSectionName, section); configuration.Save(ConfigurationSaveMode.Modified); } } }