示例#1
0
        public VSProject(VSSolution solution, object internalSolutionProject, bool loadOnDemand = false)
        {
            this.loadOnDemand           = loadOnDemand;
            this.loadOnDemandProperties = loadOnDemand;
            this.Name              = s_ProjectInSolution_ProjectName.GetValue(internalSolutionProject, null) as string;
            this.ProjectType       = s_ProjectInSolution_ProjectType.GetValue(internalSolutionProject, null).ToString();
            this.RelativePath      = s_ProjectInSolution_RelativePath.GetValue(internalSolutionProject, null) as string;
            this.ProjectGuid       = s_ProjectInSolution_ProjectGuid.GetValue(internalSolutionProject, null) as string;
            this.ParentProjectGuid = s_ProjectInSolution_ParentProjectGuid.GetValue(internalSolutionProject, null) as string;
            InstanceId             = Guid.NewGuid();

            this.solution = solution;
            this.internalSolutionProject = internalSolutionProject;

            if (this.ProjectType != "SolutionFolder")
            {
                this.projectFileName = Path.GetFullPath(Path.Combine(solution.SolutionPath, this.RelativePath));
            }

            childProjects = new List <IVSProject>();
            items         = new List <VSProjectItem>();
            properties    = new List <VSProjectProperty>();

            if (this.ProjectType == "KnownToBeMSBuildFormat")
            {
                this.Parse();
            }
        }
示例#2
0
 public bool Equals(VSSolution project)
 {
     return(project.Hash == this.Hash);
 }