private static Dictionary<string, string> GetVirtualDirectories(DirectoryEntry directory, string path)
{
IEnumerable<DirectoryEntry> directories = directory.Children.Cast<DirectoryEntry>()
.Where(c => c.SchemaClassName == "IIsWebVirtualDir");
Dictionary<string, string> result = new Dictionary<string, string>();
foreach (DirectoryEntry entry in directories)
{
string key = string.Concat(path, "/", entry.Name);
result.Add(key, entry.Properties["path"].Value.ToString().ToLower().TrimEnd('\\'));
Dictionary<string, string> childDirs = Project.GetVirtualDirectories(entry, key);
foreach (string childKey in childDirs.Keys)
{
result.Add(childKey, childDirs[childKey]);
}
}
return result;
}