You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
using Microsoft.Extensions.DependencyModel;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Reflection;
|
|
|
|
|
using System.Runtime.Loader;
|
|
|
|
|
|
|
|
|
|
namespace EntrustSettle.Common.Extensions;
|
|
|
|
|
|
|
|
|
|
public static class AssemblysExtensions
|
|
|
|
|
{
|
|
|
|
|
public static List<Assembly> GetAllAssemblies()
|
|
|
|
|
{
|
|
|
|
|
var list = new List<Assembly>();
|
|
|
|
|
var deps = DependencyContext.Default;
|
|
|
|
|
var libs = deps.CompileLibraries.Where(lib => !lib.Serviceable && lib.Type != "package" );
|
|
|
|
|
foreach (var lib in libs)
|
|
|
|
|
{
|
|
|
|
|
var assembly = AssemblyLoadContext.Default.LoadFromAssemblyName(new AssemblyName(lib.Name));
|
|
|
|
|
list.Add(assembly);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return list;
|
|
|
|
|
}
|
|
|
|
|
}
|