private static void ParseLine(string line, VSSolution solution) { if (line.StartsWith("Project(")) { ParseProject(line, solution); } }
private static void ParseLine(string line, VSSolution solution) { if(line.StartsWith("Project(")) { ParseProject(line, solution); } }
private static void ParseProject(string line, VSSolution solution) { var splitBySpaces = line.Split('"'); var projectReference = splitBySpaces[5]; solution.ReferencedProjects.Add(projectReference); }
public static VSSolution FromFile(FilePath fileName) { VSSolution toReturn = new VSSolution(); toReturn.FullFileName = fileName.FullPath; var lines = System.IO.File.ReadAllLines(fileName.FullPath); foreach (var line in lines) { ParseLine(line, toReturn); } return(toReturn); }
public static VSSolution FromFile(string fileName) { VSSolution toReturn = new VSSolution(); toReturn.FullFileName = fileName; var lines = System.IO.File.ReadAllLines(fileName); foreach(var line in lines) { ParseLine(line, toReturn); } return toReturn; }
private void AutomaticallyUpdateProjects(VSSolution sourceSolution, VSSolution destinationSolution) { ReferenceCopierViewModel viewmodel = new ReferenceCopierViewModel(); string sourceDirectory = FileManager.GetDirectory(sourceSolution.FullFileName); string destinationDirectory = FileManager.GetDirectory(destinationSolution.FullFileName); string strippedDestinationSolutionName = FileManager.RemovePath(destinationSolution.FullFileName); foreach (var sourceProject in sourceSolution.ReferencedProjects) { var strippedSource = FileManager.RemovePath(sourceProject); var found = destinationSolution.ReferencedProjects.FirstOrDefault(item => FileManager.RemovePath(item) == strippedSource); if(found != null) { ViewModel.FromFile = FileManager.RemoveDotDotSlash(sourceDirectory + sourceProject); ViewModel.ToFile = FileManager.RemoveDotDotSlash( destinationDirectory + found); ViewModel.PerformCopy(showPopup:false); PluginManager.ReceiveOutput($"Copied references for project {strippedSource} in {strippedDestinationSolutionName}."); } else { PluginManager.ReceiveOutput($"Skipping project {strippedSource} because a matching project was not found in {strippedDestinationSolutionName}"); } } }