diff options
| author | Bond-009 <bond.009@outlook.com> | 2021-11-06 23:06:08 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-11-06 23:06:08 +0100 |
| commit | 8d8e1137712d134ff09679449b921fbcb95bfedc (patch) | |
| tree | a8354107bfd930f6ece3323bd212ff352c68977b | |
| parent | b217f84d501eef5b3968d502b660eccd1f0c5844 (diff) | |
| parent | d95c281142462277560e1f9ac8d9e28db9c7b242 (diff) | |
Merge pull request #6791 from cvium/fix_plugin_loading
| -rw-r--r-- | Emby.Server.Implementations/Plugins/PluginManager.cs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Emby.Server.Implementations/Plugins/PluginManager.cs b/Emby.Server.Implementations/Plugins/PluginManager.cs index d52c0b2a1..d70a15dbc 100644 --- a/Emby.Server.Implementations/Plugins/PluginManager.cs +++ b/Emby.Server.Implementations/Plugins/PluginManager.cs @@ -126,7 +126,8 @@ namespace Emby.Server.Implementations.Plugins { assembly = Assembly.LoadFrom(file); - assembly.GetExportedTypes(); + // Load all required types to verify that the plugin will load + assembly.GetTypes(); } catch (FileLoadException ex) { @@ -134,7 +135,7 @@ namespace Emby.Server.Implementations.Plugins ChangePluginState(plugin, PluginStatus.Malfunctioned); continue; } - catch (TypeLoadException ex) // Undocumented exception + catch (SystemException ex) when (ex is TypeLoadException or ReflectionTypeLoadException) // Undocumented exception { _logger.LogError(ex, "Failed to load assembly {Path}. This error occurs when a plugin references an incompatible version of one of the shared libraries. Disabling plugin.", file); ChangePluginState(plugin, PluginStatus.NotSupported); |
