Added referenced assembly failure detection, and DI failure protection.

This commit is contained in:
BaronGreenback 2020-12-31 11:39:34 +00:00
parent dbfbf9fb5b
commit 149c2b2169
2 changed files with 6 additions and 0 deletions

View file

@ -413,6 +413,8 @@ namespace Emby.Server.Implementations
catch (Exception ex)
{
Logger.LogError(ex, "Error creating {Type}", type);
// If this is a plugin fail it.
_pluginManager.FailPlugin(type.Assembly);
return null;
}
finally

View file

@ -111,6 +111,10 @@ namespace Emby.Server.Implementations.Plugins
try
{
assembly = Assembly.LoadFrom(file);
// This force loads all reference dll's that the plugin uses in the try..catch block.
// Removing this will cause JF to bomb out if referenced dll's cause issues.
assembly.GetExportedTypes();
}
catch (FileLoadException ex)
{