/// <summary> /// Delete a project configuration entry /// </summary> /// public void DeleteProjectConfiguration(VisualStudioSolutionProjectConfiguration configuration) { Guard.NotNull(configuration, nameof(configuration)); _lines.RemoveAt(configuration.LineNumber); Load(); }
/// <summary> /// Add a project configuration entry /// </summary> /// public void AddProjectConfiguration( string projectId, string projectConfiguration, string property, string solutionConfiguration) { Guard.NotNull(projectId, nameof(projectId)); Guard.NotNull(projectConfiguration, nameof(projectConfiguration)); Guard.NotNull(property, nameof(property)); Guard.NotNull(solutionConfiguration, nameof(solutionConfiguration)); if (ProjectConfigurationsStartLineNumber < 0) { AddProjectConfigurationsSection(); } int lineNumber = ProjectConfigurationsEndLineNumber; var next = ProjectConfigurations .FirstOrDefault(c => c.ProjectId == projectId && string.CompareOrdinal(c.SolutionConfiguration, solutionConfiguration) > 0); if (next != null) { lineNumber = next.LineNumber; } var prev = ProjectConfigurations .LastOrDefault(c => c.ProjectId == projectId && c.SolutionConfiguration == solutionConfiguration) ?? ProjectConfigurations .LastOrDefault(c => c.ProjectId == projectId); if (prev != null) { lineNumber = prev.LineNumber + 1; } _lines.Insert( lineNumber, "\t\t" + VisualStudioSolutionProjectConfiguration.Format( projectId, projectConfiguration, property, solutionConfiguration)); Load(); }