Package org.gradle.ide.visualstudio

## Interface VisualStudioProject

- All Superinterfaces:
    `Buildable`, `Named`

      @Incubating
      public interface VisualStudioProject
      extends Named, Buildable

  A visual studio project, created from one or more native binaries.

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

        apply plugin: "cpp"
        apply plugin: "visual-studio"
        model {
            visualStudio {
                projects.all {
                    projectFile.location = "vs/${name}.vcxproj"
                    projectFile.withXml {
                        asNode().appendNode('PropertyGroup', [Label: 'Custom'])
                                .appendNode('ProjectDetails', "Project is named ${project.name}")
                    }
                }
            }
        }

- - ### 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.
    `XmlConfigFile` | `getFiltersFile()` | Configuration for the generated filters file.
    `String` | `getName()` | The object's name.
    `XmlConfigFile` | `getProjectFile()` | Configuration for the generated project file.

- - ### Method Detail

    - #### getProjectFile

          @Internal
          XmlConfigFile getProjectFile()

      Configuration for the generated project file.

    - #### getFiltersFile

          @Internal
          XmlConfigFile getFiltersFile()

      Configuration for the generated filters file.

    - #### getBuildDependencies

          @Internal
          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

          @Input
          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.