示例#1
0
 public string GetProjectName(ProjectConfigurationPlatform item)
 {
     return(projects.First(p => p.ProjectGuid == item.ProjectGuid).Name);
 }
示例#2
0
 public int SolutionConfigurationIndexOf(ProjectConfigurationPlatform item)
 {
     return(solution_configuration_platforms.IndexOf(item.SolutionConfigurationName));
 }
示例#3
0
        public void Dump(TextWriter writer)
        {
            if (writer == null)
            {
                throw new ArgumentNullException(nameof(writer));
            }

            writer.WriteLine("Projects");

            foreach (var proj in projects)
            {
                writer.WriteLine($"\t{ProjectTypeGuids.GetNameIfAvailable (proj.ProjectTypeGuids)} {proj.Path}");
            }

            writer.WriteLine();
            writer.WriteLine("SolutionConfigurationPlatform");
            foreach (var plat in solution_configuration_platforms)
            {
                writer.WriteLine('\t' + plat);
            }

            writer.WriteLine();
            writer.WriteLine("Solution Folders:");
            foreach (var nest in NestedProjects)
            {
                var folder = ProjectGuidToName(nest.Key);
                writer.WriteLine("\t" + folder);
                foreach (var n in nest)
                {
                    var item = ProjectGuidToName(n.Item);
                    writer.WriteLine("\t\t" + item);
                }
            }

            writer.WriteLine();
            writer.WriteLine("ProjectConfigurationPlatforms");
            foreach (var cfgGroup in ProjectConfigurationPlatforms)
            {
                var deftpl  = ProjectConfigurationPlatformTemplate.CreateTemplateFor("all", solution_configuration_platforms);
                var matches = deftpl.Matches(cfgGroup);
                var pattern = deftpl.Matches(cfgGroup) ? "all" : null;
                writer.WriteLine("\t" + GetProjectName(cfgGroup.First()) + " : " + pattern);
                if (pattern != null)
                {
                    continue;
                }
                foreach (var cfg in cfgGroup)
                {
                    writer.WriteLine($"\t\tCFG#{SolutionConfigurationIndexOf (cfg)} / {cfg.Property} / {ProjectConfigurationPlatform.GetValueIfAvailable (cfg.ConfigurationValue)}");
                }
            }

            writer.WriteLine();

            foreach (var sec in other_global_sections)
            {
                writer.WriteLine($"OTHER SECTION: {sec.Name} ({sec.Type})");
                writer.WriteLine(sec.Value);
            }
        }