private static IEnumerable <String> GetSuitableFiles( NuGetFramework thisFramework, Lazy <RuntimeGraph> runtimeGraph, String runtimeIdentifier, LockFileTargetLibrary targetLibrary, Lazy <IDictionary <String, LockFileLibrary> > libraries ) { var retVal = NuGetUtility.GetRuntimeAssembliesDelegate(runtimeGraph, runtimeIdentifier, targetLibrary, libraries); if (!retVal.Any() && libraries.Value.TryGetValue(targetLibrary.Name, out var lib)) { // targetLibrary does not list stuff like build/net45/someassembly.dll // So let's do manual matching var fwGroups = lib.Files.Where(f => { return(f.StartsWith(PackagingConstants.Folders.Build, StringComparison.OrdinalIgnoreCase) && PackageHelper.IsAssembly(f) && Path.GetDirectoryName(f).Length > PackagingConstants.Folders.Build.Length + 1); }).GroupBy(f => { try { return(NuGetFramework.ParseFolder(f.Split('/')[1])); } catch { return(null); } }) .Where(g => g.Key != null) .Select(g => new FrameworkSpecificGroup(g.Key, g)); var matchingGroup = NuGetFrameworkUtility.GetNearest( fwGroups, thisFramework, g => g.TargetFramework); retVal = matchingGroup?.Items; } return(retVal); }