public MemoryAssemblyMembersCache(IAssemblyCache assemblyCache) { _assemblyCache = assemblyCache; AppDomain.CurrentDomain.AssemblyResolve += (object?sender, ResolveEventArgs args) => { var task = assemblyCache.WaitFor(args.RequestingAssembly.FullName, 20000); task.Wait(); var item = task.Result; if (item != null) { //AppDomain.CurrentDomain.LO var fullName = item.FullName; var refs = item.GetReferencedAssemblies(); foreach (var @ref in refs) { if (AssemblyUtils.IsSystemAssembly(@ref) || AssemblyUtils.IsOskAssembly(@ref)) { continue; } var asmDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); var assembly = Assembly.LoadFile(Path.Combine(asmDirectory, $"{@ref.Name}.dll")); //var types = assembly.GetTypes(); //foreach (var type in types) //{ // try // { // var tobj = Activator.CreateInstance(type); // if (tobj != default) // break; // } // catch (Exception) // { // // ignore // } //} } return(item); } return(null); }; }