private void GenerateDir(DirNode dirNode, string parentPath) { string dirPath = Path.Combine(parentPath, dirNode.Name); if (!string.IsNullOrEmpty(dirNode.Content)) { CreateSymlink(dirPath, dirNode.Content); Test.Info("Building symlinked dir info of {0}", dirPath); dirNode.BuildSymlinkedDirNode(); return; } DMLibDataHelper.CreateLocalDirIfNotExists(dirPath); foreach (var file in dirNode.FileNodes) { GenerateFile(file, dirPath); } foreach (var subDir in dirNode.NormalDirNodes) { GenerateDir(subDir, dirPath); } foreach (var subDir in dirNode.SymlinkedDirNodes) { CreateSymlink(Path.Combine(dirPath, subDir.Name), subDir.Content); Test.Info("Building symlinked dir info of {0}", Path.Combine(dirPath, subDir.Name)); subDir.BuildSymlinkedDirNode(); } }