Package org.gradle.ide.visualstudio

## Interface VisualStudioSolution

- All Superinterfaces:
    `Buildable`, `Describable`, `IdeWorkspace`, `Named`

      @Incubating
      public interface VisualStudioSolution
      extends Named, Buildable, IdeWorkspace

  A visual studio solution, representing one or more native binaries in a build.

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

        plugins {
            id 'visual-studio'
        }

        model {
            visualStudio {
                solution {
                    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 org.gradle.api.Named

      `Named.Namer`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `TaskDependency` | `getBuildDependencies()` | Returns a dependency which contains the tasks which build this artifact.
    `java.lang.String` | `getDisplayName()` | Returns the display name of this object.
    `Provider<RegularFile>` | `getLocation()` | Returns the location of the generated solution file.
    `java.lang.String` | `getName()` | The object's name.
    `TextConfigFile` | `getSolutionFile()` | Configuration for the generated solution file.

- - ### Method Detail

    - #### getSolutionFile

          @Internal
          @Incubating
          TextConfigFile getSolutionFile()

      Configuration for the generated solution file.

    - #### getLocation

          @Internal
          Provider<RegularFile> getLocation()

      Returns the location of the generated solution file.
      Specified by:
        `getLocation` in interface `IdeWorkspace`

    - #### getBuildDependencies

          @Internal
          @Incubating
          TaskDependency getBuildDependencies()

      Description copied from interface: `Buildable`
      Returns a dependency which contains the tasks which build this artifact. All `Buildable` implementations must ensure that the returned dependency object is live, so that it tracks changes to the dependencies of this buildable.
      Specified by:
        `getBuildDependencies` in interface `Buildable`
      Returns:
        The dependency. Never returns null. Returns an empty dependency when this artifact is not built by any tasks.

    - #### getName

          @Internal
          java.lang.String getName()

      Description copied from interface: `Named`
      The object's name.

      Must be constant for the life of the object.

      Specified by:
        `getName` in interface `Named`
      Returns:
        The name. Never null.

    - #### getDisplayName

          @Internal
          java.lang.String getDisplayName()

      Description copied from interface: `Describable`
      Returns the display name of this object. It is strongly encouraged to compute it lazily, and cache the value if it is expensive.
      Specified by:
        `getDisplayName` in interface `Describable`
      Returns:
        the display name