Пример #1
0
        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;
            }
        }
Пример #2
0
        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;
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
                }
            }
        }
Пример #5
0
 public void RemoveProjectFromFolder(IDotNetProjectInstance project)
 {
     Solution.RemoveProjectFromSolutionFolder(project);
 }
Пример #6
0
 public void AddProjectToFolder(IDotNetProjectInstance project)
 {
     Solution.AddProjectToSolutionFolder(project, this);
 }
Пример #7
0
 public DotNetSolutionFolder(IDotNetProjectInstance projectInstance)
 {
     _projectInstance = projectInstance;
 }
Пример #8
0
 public void RemoveProjectFromSolutionFolder(IDotNetProjectInstance project)
 {
     SlnFile.GetSolutionFolderSection().Properties.Remove(project.Id);
 }