Package: org.gradle.ide.visualstudio

## [Java] Interface VisualStudioSolution

- org.gradle.api.Buildable

- All Superinterfaces:
    Named, ComponentSpec, BuildableComponentSpec, Buildable

  A visual studio solution, representing one or more NativeBinarySpec instances from the same NativeComponentSpec.

  The content and location of the generate solution file can be modified by the supplied methods:

        apply plugin: "visual-studio"
        model {
            visualStudio {
                solutions.all {
                    solutionFile.location = "vs/${name}.sln"
                    solutionFile.withContent { TextProvider content ->
                        content.asBuilder().insert(0, "# GENERATED FILE: DO NOT EDIT\n")
                        content.text = content.text.replaceAll("HideSolutionNode = FALSE", "HideSolutionNode = TRUE")
                    }
                }
            }
        }

- - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `NativeComponentSpec` | `getComponent()` The component that this solution represents.
    `Set<VisualStudioProject>` | `getProjects()` The set of projects included in this solution.
    `TextConfigFile` | `getSolutionFile()` Configuration for the generated solution file.

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `interface BuildableComponentSpec` | `builtBy, getBuildTask, hasBuildDependencies, setBuildTask`
    `interface Buildable` | `getBuildDependencies`
    `interface ComponentSpec` | `getDisplayName, getProjectPath`
    `interface Named` | `getName`

- - ### Method Detail

    - #### public NativeComponentSpec getComponent()

      The component that this solution represents.

    - #### public Set<VisualStudioProject> getProjects()

      The set of projects included in this solution.

    - #### public TextConfigFile getSolutionFile()

      Configuration for the generated solution file.