Package: org.gradle.ide.visualstudio

## [Java] Interface VisualStudioProject

- org.gradle.api.BuildableComponentSpec

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

  A visual studio project, created from one or more NativeBinary instances.

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

        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}")
                    }
                }
            }
        }

- - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `NativeComponentSpec` | `getComponent()` The component that this project represents.
    `XmlConfigFile` | `getFiltersFile()` Configuration for the generated filters file.
    `XmlConfigFile` | `getProjectFile()` Configuration for the generated project file.

  - ### Inherited Methods Summary

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

- - ### Method Detail

    - #### public NativeComponentSpec getComponent()

      The component that this project represents.

    - #### public XmlConfigFile getFiltersFile()

      Configuration for the generated filters file.

    - #### public XmlConfigFile getProjectFile()

      Configuration for the generated project file.