private IEnumerable <Assembly> GetCandidateLibraries(string[] candidates) { if (candidates?.Any() != true) { return(Enumerable.Empty <Assembly>()); } var candidatesResolver = new AssemblyCandidateResolver( _assemblies, new HashSet <string?>(candidates, StringComparer.OrdinalIgnoreCase), _logger ); return(candidatesResolver.GetCandidates().Select(x => x.Assembly)); }
private IEnumerable <Assembly> GetCandidateLibraries(string[] candidates) { if (candidates?.Any() != true) { return(Enumerable.Empty <Assembly>()); } // Sometimes all the assemblies are not loaded... so we kind of have to yolo it and try a few times until we get all of them var candidatesResolver = new AssemblyCandidateResolver( _appDomain.GetAssemblies(), new HashSet <string?>(candidates, StringComparer.OrdinalIgnoreCase), _logger ); return(candidatesResolver.GetCandidates().Select(x => x.Assembly).ToArray()); }