diff options
Diffstat (limited to 'MediaBrowser.ServerApplication/ApplicationHost.cs')
| -rw-r--r-- | MediaBrowser.ServerApplication/ApplicationHost.cs | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/MediaBrowser.ServerApplication/ApplicationHost.cs b/MediaBrowser.ServerApplication/ApplicationHost.cs index 00db91f41..935067a33 100644 --- a/MediaBrowser.ServerApplication/ApplicationHost.cs +++ b/MediaBrowser.ServerApplication/ApplicationHost.cs @@ -542,9 +542,7 @@ namespace MediaBrowser.ServerApplication /// <returns>IEnumerable{Assembly}.</returns> protected override IEnumerable<Assembly> GetComposablePartAssemblies() { - var list = Directory.EnumerateFiles(ApplicationPaths.PluginsPath, "*.dll", SearchOption.TopDirectoryOnly) - .Select(LoadAssembly) - .Where(a => a != null) + var list = GetPluginAssemblies() .ToList(); // Gets all plugin assemblies by first reading all bytes of the .dll and calling Assembly.Load against that @@ -582,6 +580,24 @@ namespace MediaBrowser.ServerApplication return list; } + /// <summary> + /// Gets the plugin assemblies. + /// </summary> + /// <returns>IEnumerable{Assembly}.</returns> + private IEnumerable<Assembly> GetPluginAssemblies() + { + try + { + return Directory.EnumerateFiles(ApplicationPaths.PluginsPath, "*.dll", SearchOption.TopDirectoryOnly) + .Select(LoadAssembly) + .Where(a => a != null); + } + catch (DirectoryNotFoundException) + { + return new List<Assembly>(); + } + } + private readonly string _systemId = Environment.MachineName.GetMD5().ToString(); /// <summary> |
