Ejemplo n.º 1
0
        public static Solution Generate(Project mainProject, IEnumerable<Project> additionalProjects)
        {
            var projects = 
                mainProject.GetAllReferences()
                .Union(additionalProjects.SelectMany(x => x.GetAllReferences()))
                .Union(additionalProjects);
                    
            var motherProject = Project.CreateEntryProject(mainProject, projects);

            return new Solution(new [] { motherProject, mainProject }.Union(projects));
        }   
Ejemplo n.º 2
0
        private static void GenerateReferencesInner(Project project, HashSet <Project> projects)
        {
            if (!projects.Contains(project))
            {
                projects.Add(project);

                foreach (var reference in project.GetAllReferences())
                {
                    GenerateReferencesInner(reference, projects);
                }
            }
        }
Ejemplo n.º 3
0
        public static Solution Generate(Project mainProject, bool generateEntryProject, string outputPath, IEnumerable <Project> additionalProjects)
        {
            var projects =
                new[] { mainProject }.Union(
                mainProject.GetAllReferences()
                .Union(additionalProjects.SelectMany(x => x.GetAllReferences()))
                .Union(additionalProjects)).ToList();

            if (generateEntryProject)
            {
                var motherProject = Project.CreateEntryProject(mainProject, outputPath, projects.Skip(1));
                projects.Insert(0, motherProject);
            }

            return(new Solution(projects));
        }
Ejemplo n.º 4
0
 private static void GenerateReferencesInner(Project project, HashSet<Project> projects)
 {
     if(!projects.Contains(project))
     {
         projects.Add(project);
     
         foreach(var reference in project.GetAllReferences())
         {
             GenerateReferencesInner(reference, projects);
         }
     }
 }