private static SolutionConfigurationPlatformsGlobalSection DeserializeSolutionConfigurationPlatformsGlobalSection(TextReader reader, ref string currentLine, PreOrPostSolution preOrPostSolution) { var solutionConfigurationPlatformsGlobalSection = new SolutionConfigurationPlatformsGlobalSection { Name = SolutionConfigurationPlatformsGlobalSection.SolutionFileGlobalSectionName, PreOrPostSolution = preOrPostSolution }; currentLine = reader.ReadLine().Trim(); while (!SolutionFileTextSerializer.GlobalSectionEndRegex.IsMatch(currentLine)) { var assignmentTokens = currentLine.Split("="); var targetToken = assignmentTokens[0].Trim(); var valueToken = assignmentTokens[1].Trim(); var solutionBuildConfiguration = SolutionFileTextSerializer.DeserializeSolutionBuildConfiguration(targetToken); var mappedSolutionBuildConfiguration = SolutionFileTextSerializer.DeserializeSolutionBuildConfiguration(valueToken); var solutionBuildConfigurationMapping = new SolutionBuildConfigurationMapping { SolutionBuildConfiguration = solutionBuildConfiguration, MappedSolutionBuildConfiguration = mappedSolutionBuildConfiguration, }; solutionConfigurationPlatformsGlobalSection.SolutionBuildConfigurationMappings.Add(solutionBuildConfigurationMapping); currentLine = reader.ReadLine().Trim(); } return(solutionConfigurationPlatformsGlobalSection); }
private static ProjectConfigurationPlatformsGlobalSection DeserializeProjectConfigurationPlatformsGlobalSection(TextReader reader, ref string currentLine, PreOrPostSolution preOrPostSolution) { var projectConfigurationPlatformsGlobalSection = new ProjectConfigurationPlatformsGlobalSection { Name = ProjectConfigurationPlatformsGlobalSection.SolutionFileGlobalSectionName, PreOrPostSolution = preOrPostSolution }; currentLine = reader.ReadLine().Trim(); while (!SolutionFileTextSerializer.GlobalSectionEndRegex.IsMatch(currentLine)) { var assignmentTokens = currentLine.Split("="); var targetToken = assignmentTokens[0].Trim(); var valueToken = assignmentTokens[1].Trim(); var projectBuildConfigurationTokens = targetToken.Split(new string[] { Constants.SolutionProjectConfigurationTokenSeparator }, 3, StringSplitOptions.None); var projectGuidToken = projectBuildConfigurationTokens[0]; var solutionBuildConfigurationToken = projectBuildConfigurationTokens[1]; var indicatorToken = projectBuildConfigurationTokens[2]; var projectGUID = Guid.Parse(projectGuidToken); var solutionBuildConfiguration = SolutionFileTextSerializer.DeserializeSolutionBuildConfiguration(solutionBuildConfigurationToken); var indicator = SolutionUtilities.ToProjectConfigurationIndicator(indicatorToken); var mappedSolutionBuildConfiguration = SolutionFileTextSerializer.DeserializeSolutionBuildConfiguration(valueToken); var projectBuildConfigurationMapping = new ProjectBuildConfigurationMapping { ProjectGUID = projectGUID, SolutionBuildConfiguration = solutionBuildConfiguration, ProjectConfigurationIndicator = indicator, MappedSolutionBuildConfiguration = mappedSolutionBuildConfiguration, }; projectConfigurationPlatformsGlobalSection.ProjectBuildConfigurationMappings.Add(projectBuildConfigurationMapping); currentLine = reader.ReadLine().Trim(); } return(projectConfigurationPlatformsGlobalSection); }