# Interface VisualStudioSolution

All Superinterfaces:
  `Buildable, BuildableComponentSpec, ComponentSpec, ModelElement, Named`

@Incubating public interface VisualStudioSolution extends BuildableComponentSpec
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")
                 }
             }
         }
     }

## Nested Class Summary

### Nested classes/interfaces inherited from interface Named

`Named.Namer`

## Method Summary

Modifier and Type
Method
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.

### Methods inherited from interface Buildable

`getBuildDependencies`

### Methods inherited from interface BuildableComponentSpec

`builtBy, getBuildTask, hasBuildDependencies, setBuildTask`

### Methods inherited from interface ComponentSpec

`getProjectPath`

### Methods inherited from interface ModelElement

`getDisplayName, getName`

## Method Details

### getProjects

Set<VisualStudioProject> getProjects()
The set of projects included in this solution.

### getComponent

NativeComponentSpec getComponent()
The component that this solution represents.

### getSolutionFile

TextConfigFile getSolutionFile()
Configuration for the generated solution file.