public void UpdateProjectAbsolutePath(IDotNetProjectInstance projectInstance, string absolutePath) { var matchingSlnProject = SlnFile.Projects.SingleOrDefault(p => p.Id == projectInstance.Id); if (matchingSlnProject != null) { var relativePathFromSolution = PathUtility.GetRelativePath(SlnFile.FullPath, absolutePath); matchingSlnProject.FilePath = relativePathFromSolution; } }
public void AddProjectToSolutionFolder(IDotNetProjectInstance project, IDotNetSolutionFolder solutionFolder) { if (project.Id == solutionFolder.Id) { throw new InvalidOperationException("A solution folder cannot be self-referencing."); } RemoveProjectFromSolutionFolder(project); SlnFile.GetSolutionFolderSection().Properties[project.Id] = solutionFolder.Id; }
public IDotNetSolutionFolder FindParentSolutionFolder(IDotNetProjectInstance projectInstance) { if (SlnFile.GetSolutionFolderSection().Properties.TryGetValue(projectInstance.Id, out var parentProjectId)) { var parentProject = FindProjectById(parentProjectId); if (parentProject is IDotNetSolutionFolder) { return(parentProject as IDotNetSolutionFolder); } } return(null); }
public IEnumerable <IDotNetProjectInstance> FindProjectsThatReference(IDotNetProjectInstance projectInstance) { //var absolutePathToTargetProject = projectInstance.ProjectFileAbsolutePath; foreach (var project in AllProjects) { if (project.Id == projectInstance.Id) { continue; } if (project.ProjectName == "PureCars.CosmosDb") { Console.Write("X"); } var matchingReference = project.ReferencedProjects.SingleOrDefault(p => p.Id == projectInstance.Id); if (matchingReference != null) { yield return(project); } } }
public void RemoveProjectFromFolder(IDotNetProjectInstance project) { Solution.RemoveProjectFromSolutionFolder(project); }
public void AddProjectToFolder(IDotNetProjectInstance project) { Solution.AddProjectToSolutionFolder(project, this); }
public DotNetSolutionFolder(IDotNetProjectInstance projectInstance) { _projectInstance = projectInstance; }
public void RemoveProjectFromSolutionFolder(IDotNetProjectInstance project) { SlnFile.GetSolutionFolderSection().Properties.Remove(project.Id); }