private static IEnumerable <string> GetProjectReferenceDependencyFilePathsRecursive_Internal(this ProjectFileModel projectFileModel, string projectFilePath, HashSet <string> pathAccumulator) { var dependencyProjectFilePaths = projectFileModel.GetProjectReferenceDependencyFilePaths(projectFilePath); foreach (var dependencyProjectFilePath in dependencyProjectFilePaths) { if (!pathAccumulator.Contains(dependencyProjectFilePath)) { pathAccumulator.Add(dependencyProjectFilePath); yield return(dependencyProjectFilePath); } var dependencyProjectFile = ProjectFileSerialization.Deserialize(dependencyProjectFilePath); var dependencyDependencyProjectFilePaths = dependencyProjectFile.GetProjectReferenceDependencyFilePathsRecursive(dependencyProjectFilePath); foreach (var dependencyDependencyProjectFilePath in dependencyDependencyProjectFilePaths) { if (!pathAccumulator.Contains(dependencyDependencyProjectFilePath)) { pathAccumulator.Add(dependencyDependencyProjectFilePath); yield return(dependencyDependencyProjectFilePath); } } } }
public ProjectFileModel Deserialize(string projectFilePath) { var projectFile = ProjectFileSerialization.Deserialize(projectFilePath); return(projectFile); }
public static void Save(this ProjectFileModel projectFile, string projectFilePath) { ProjectFileSerialization.Serialize(projectFilePath, projectFile); }
public void Serialize(string projectFilePath, ProjectFileModel projectFile, bool overwrite = true) { ProjectFileSerialization.Serialize(projectFilePath, projectFile, overwrite); }