static void TryAddPackage(DirectoryInfo cacheDirectory, foundPackage package, Dictionary <string, string> finalList) { if (finalList.ContainsKey(package.Name)) { return; } finalList.Add(package.Name, package.Path); var dependenciesToAdd = package.Dependencies.Where(_ => finalList.ContainsKey(_) == false).ToList(); if (dependenciesToAdd.Count > 0) { TryAddPackages(cacheDirectory, dependenciesToAdd, finalList); } }
static void TryAddPackage(DirectoryInfo cacheDirectory, foundPackage package, Dictionary<string, string> finalList) { if (finalList.ContainsKey(package.Name)) return; finalList.Add(package.Name, package.Path); var dependenciesToAdd = package.Dependencies.Where(_ => finalList.ContainsKey(_) == false).ToList(); if (dependenciesToAdd.Count > 0) TryAddPackages(cacheDirectory, dependenciesToAdd, finalList); }