private static IEnumerable<ModuleConfiguration> ResolveDependencies(ModuleConfiguration config)
{
List<ModuleConfiguration> result = new List<ModuleConfiguration>();
foreach (string moduleKey in config.ModuleDependencies)
{
ModuleConfiguration reference;
if (Project.Configuration.Modules.TryGetValue(moduleKey, out reference))
{
result.Add(reference);
IEnumerable<ModuleConfiguration> innerDependencies = ModuleConfiguration.ResolveDependencies(reference);
result.AddRange(innerDependencies.Where(innerConfig => !result.Contains(innerConfig)));
}
}
return result;
}