Index: src/DeltaShell/DeltaShell.Core/PluginConfigurationLoader.cs =================================================================== diff -u -r8f6ae890fed8e8eae3a32f9c0498a10f82e0ddf9 -r5fc71a385897af92ccb092f2f969b5709afab85a --- src/DeltaShell/DeltaShell.Core/PluginConfigurationLoader.cs (.../PluginConfigurationLoader.cs) (revision 8f6ae890fed8e8eae3a32f9c0498a10f82e0ddf9) +++ src/DeltaShell/DeltaShell.Core/PluginConfigurationLoader.cs (.../PluginConfigurationLoader.cs) (revision 5fc71a385897af92ccb092f2f969b5709afab85a) @@ -22,15 +22,15 @@ private readonly IList disabledPlugins = new List(); - readonly IDictionary loadedAssemblyConfigFiles = new Dictionary(); + private readonly IDictionary loadedAssemblyConfigFiles = new Dictionary(); private IEnumerable assemblies; public PluginConfigurationLoader(string directory) { this.directory = directory; } - public void FillPluginConfigurationsFromPath(IList pluginConfigs, IList pluginAssemblies) + public void FillPluginConfigurationsFromPath(IList pluginConfigs, IList pluginAssemblies) where TPluginConfigurationSectionHandler : IConfigurationSectionHandler, new() where TPluginConfig : class { @@ -53,7 +53,7 @@ } } - public static TPluginConfig GetPluginConfig(string appConfigFilePath) + public static TPluginConfig GetPluginConfig(string appConfigFilePath) where TPluginConfigurationSectionHandler : IConfigurationSectionHandler, new() where TPluginConfig : class { @@ -78,13 +78,13 @@ if (node.LocalName == nodeName) { var handler = new TPluginConfigurationSectionHandler(); - return (TPluginConfig)handler.Create(null, null, node); + return (TPluginConfig) handler.Create(null, null, node); } } } catch (Exception exception) { - log.ErrorFormat(Resources.PluginConfigurationLoader_GetPluginConfig_plugin_could_not_be_loaded____0_____1_, appConfigFilePath ,exception.Message); + log.ErrorFormat(Resources.PluginConfigurationLoader_GetPluginConfig_plugin_could_not_be_loaded____0_____1_, appConfigFilePath, exception.Message); return default(TPluginConfig); } @@ -98,8 +98,11 @@ throw new DirectoryNotFoundException(string.Format(Resources.PluginConfigurationLoader_LoadAssembliesWithConfigInDirectory_Can_t_find_directory_to_load_assemblies_from___0___fix_your_configuration_file, path)); } - foreach (var directoryPath in Directory.GetDirectories(path).Concat(new[] { path })) + foreach (var directoryPath in Directory.GetDirectories(path).Concat(new[] { + path + })) + { foreach (string filename in Directory.GetFiles(directoryPath).Where(name => name.EndsWith(".dll.config"))) { loadedAssemblyConfigFiles[Path.GetFileNameWithoutExtension(Path.GetFileNameWithoutExtension(filename))] = filename; @@ -123,12 +126,16 @@ private bool CanContainAPlugin(Assembly assembly) { if (TypeUtils.IsDynamic(assembly)) + { return false; + } var fileName = assembly.Location; if (string.IsNullOrEmpty(fileName)) - return false;//no 'location' gac or something we don't want - + { + return false; //no 'location' gac or something we don't want + } + string pluginDllName = fileName; if (disabledPlugins != null && disabledPlugins.Contains(pluginDllName)) @@ -137,7 +144,7 @@ return false; } - if(!loadedAssemblyConfigFiles.ContainsKey(Path.GetFileNameWithoutExtension(pluginDllName))) + if (!loadedAssemblyConfigFiles.ContainsKey(Path.GetFileNameWithoutExtension(pluginDllName))) { return false; }