mirror of
https://github.com/Flow-Launcher/Flow.Launcher.git
synced 2026-03-11 08:54:32 +00:00
Add handling of reflection type error
This commit is contained in:
parent
26e06f72e3
commit
960593eb58
1 changed files with 10 additions and 2 deletions
|
|
@ -1,4 +1,4 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
@ -53,10 +53,12 @@ namespace Flow.Launcher.Core.Plugin
|
||||||
Log.Exception($"|PluginsLoader.DotNetPlugins|Couldn't load assembly for {metadata.Name}", e);
|
Log.Exception($"|PluginsLoader.DotNetPlugins|Couldn't load assembly for {metadata.Name}", e);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var types = assembly.GetTypes();
|
|
||||||
Type type;
|
Type type;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
var types = assembly.GetTypes();
|
||||||
|
|
||||||
type = types.First(o => o.IsClass && !o.IsAbstract && o.GetInterfaces().Contains(typeof(IPlugin)));
|
type = types.First(o => o.IsClass && !o.IsAbstract && o.GetInterfaces().Contains(typeof(IPlugin)));
|
||||||
}
|
}
|
||||||
catch (InvalidOperationException e)
|
catch (InvalidOperationException e)
|
||||||
|
|
@ -64,6 +66,12 @@ namespace Flow.Launcher.Core.Plugin
|
||||||
Log.Exception($"|PluginsLoader.DotNetPlugins|Can't find class implement IPlugin for <{metadata.Name}>", e);
|
Log.Exception($"|PluginsLoader.DotNetPlugins|Can't find class implement IPlugin for <{metadata.Name}>", e);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
catch (ReflectionTypeLoadException e)
|
||||||
|
{
|
||||||
|
Log.Exception($"|PluginsLoader.DotNetPlugins|The GetTypes method was unable to load assembly types for <{metadata.Name}>", e);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
IPlugin plugin;
|
IPlugin plugin;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue