using Microsoft.Build.Evaluation; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SIE.VSDK.Extensions { public static class DirectoryInfoExtensions { public static void DeepCopy(this DirectoryInfo directory, string destinationDir) { foreach (string dir in Directory.GetDirectories(directory.FullName, "*", SearchOption.AllDirectories)) { string dirToCreate = dir.Replace(directory.FullName, destinationDir); Directory.CreateDirectory(dirToCreate); } foreach (string newPath in Directory.GetFiles(directory.FullName, "*.*", SearchOption.AllDirectories)) { File.Copy(newPath, newPath.Replace(directory.FullName, destinationDir), true); } } public static List GetCsProjFiles(this DirectoryInfo directory) { List listCsProj = new List(); foreach (string newPath in Directory.GetFiles(directory.FullName, "*.csproj", SearchOption.AllDirectories)) { ProjectCollection pc = new ProjectCollection(); Project project = pc.LoadProject(newPath, null); var properties = project.Properties; foreach (var property in properties) { string result = $"Property: \"{property.Name}\" Value: {property.UnevaluatedValue}"; } listCsProj.Add(newPath); } return listCsProj; } } }