Solutionizer.Commands.SaveSolutionCommand.WriteProjectConfigurationPlatforms C# (CSharp) Method

WriteProjectConfigurationPlatforms() private method

private WriteProjectConfigurationPlatforms ( TextWriter writer, IEnumerable projects ) : void
writer System.IO.TextWriter
projects IEnumerable
return void
        private void WriteProjectConfigurationPlatforms(TextWriter writer, IEnumerable<SolutionProject> projects)
        {
            writer.WriteLine("\tGlobalSection(ProjectConfigurationPlatforms) = postSolution");
            foreach (var project in projects) {
                var guid = project.Guid.ToString("B").ToUpperInvariant();
                foreach (var configuration in project.Configurations) {
                    // there's a bug in Visual Studio since 2010 beta, that in sln files the platform is called "Any CPU" instead of "AnyCPU"
                    // http://connect.microsoft.com/VisualStudio/feedback/details/503935/msbuild-inconsistent-platform-for-any-cpu-between-solution-and-project
                    var fixedConfigurationNameBecauseOfA3YearsOldBugInVisualStudio = configuration.Replace("AnyCPU", "Any CPU");
                    writer.WriteLine("\t\t{0}.{1}.ActiveCfg = {1}", guid,  fixedConfigurationNameBecauseOfA3YearsOldBugInVisualStudio);
                    if (!_settings.DontBuildReferencedProjects || String.IsNullOrEmpty(project.Parent.Name)) {
                        writer.WriteLine("\t\t{0}.{1}.Build.0 = {1}", guid,  fixedConfigurationNameBecauseOfA3YearsOldBugInVisualStudio);
                    }
                }
            }
            writer.WriteLine("\tEndGlobalSection");
        }