internal Project SelectCustomizationProject(DTE dte)
        {
            this.parentTest.TestContext.WriteLine("SelectCustomizationProject");
            foreach (Project project in dte.Solution.Projects)
            {
                //expand all first level nodes

                if (Helpers.IsCustomizationProject(project))
                {
                    this.parentTest.TestContext.WriteLine("Yes IsCustomizationProject " + project.Name);
                    SelectProject(project);
                    return(project);
                }
                if (project.Object is EnvDTE80.SolutionFolder)
                {
                    EnvDTE80.SolutionFolder x = (EnvDTE80.SolutionFolder)project.Object;
                    foreach (ProjectItem pitem in x.Parent.ProjectItems)
                    {
                        if (pitem.Object is Project)
                        {
                            Project p2 = pitem.Object as Project;
                            if (Helpers.IsCustomizationProject(p2))
                            {
                                this.parentTest.TestContext.WriteLine("Yes IsCustomizationProject " + project.Name);
                                SelectProject(p2);
                                return(p2);
                            }
                        }
                    }
                }
            }

            throw new Exception("No CustomizationProject found in solution");
        }
Ejemplo n.º 2
0
        private Project AddProjectToSolutionFolder(Project project1, string folderName)
        {
            ThreadHelper.ThrowIfNotOnUIThread();
            try
            {
                EnvDTE80.Solution2 solution = (EnvDTE80.Solution2)_dte.Solution;

                if (solution == null)
                {
                    return(null);
                }

                string projFullname = project1.FullName;

                Project project = GetSolutionSubFolder(solution, folderName);

                if (project != null)
                {
                    EnvDTE80.SolutionFolder folder = (EnvDTE80.SolutionFolder)project.Object;

                    solution.Remove(project1);

                    project1 = folder.AddFromFile(projFullname);
                }
            }
            catch (Exception)
            {
                return(null);
            }
            return(project1);
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Initializes an instance of the <see cref="SolutionFolderReference"/> class.
 /// </summary>
 /// <seealso cref="RecipeReference"/>
 public SolutionFolderReference(string recipe, EnvDTE80.SolutionFolder folder)
     : base(recipe, folder)
 {
     this.strategy = new SolutionFolderReferenceStrategy();
 }