public IEnumerable <RuntimePackageDependency> FindRuntimeDependencies(string runtimeName, string packageId) { if (_packagesWithDependencies == null) { // Find all packages that have runtime dependencies and cache this index. _packagesWithDependencies = new HashSet <string>( Runtimes.SelectMany(e => e.Value.RuntimeDependencySets.Select(f => f.Key)), StringComparer.OrdinalIgnoreCase); } if (_packagesWithDependencies.Contains(packageId)) { var key = new RuntimeDependencyKey(runtimeName, packageId); return(_dependencyCache.GetOrAdd(key, k => FindRuntimeDependenciesInternal(k))); } return(Enumerable.Empty <RuntimePackageDependency>()); }