Commit de898d8d by dingsongjie

优化 程序集查找

parent fb922525
Showing with 20 additions and 14 deletions
...@@ -10,22 +10,28 @@ namespace Pole.Core.Utils ...@@ -10,22 +10,28 @@ namespace Pole.Core.Utils
{ {
public class AssemblyHelper public class AssemblyHelper
{ {
private static IList<Assembly> Assemblies;
public static IList<Assembly> GetAssemblies(ILogger logger = default) public static IList<Assembly> GetAssemblies(ILogger logger = default)
{ {
var libs = DependencyContext.Default.CompileLibraries.Where(lib => !lib.Serviceable); if (Assemblies != null)
return libs.Select(lib => {
{ return Assemblies;
try }
{ var libs = DependencyContext.Default.CompileLibraries.Where(lib => !lib.Serviceable && !lib.Name.StartsWith("Microsoft") && !lib.Name.StartsWith("System"));
return AssemblyLoadContext.Default.LoadFromAssemblyName(new AssemblyName(lib.Name)); Assemblies = libs.Select(lib =>
} {
catch (Exception ex) try
{ {
if (logger != default) return AssemblyLoadContext.Default.LoadFromAssemblyName(new AssemblyName(lib.Name));
logger.LogWarning(ex, ex.Message); }
return default; catch (Exception ex)
} {
}).Where(assembly => assembly != default).ToList(); if (logger != default)
logger.LogWarning(ex, ex.Message);
return default;
}
}).Where(assembly => assembly != default).ToList();
return Assemblies;
} }
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment