# VisualStudioProject

API Documentation: | `VisualStudioProject`

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:

    plugins {
        id 'cpp'
        id '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}")
                }
            }
        }
    }

### Properties

Property | Description
`buildDependencies` | 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.
`filtersFile` | Incubating Configuration for the generated filters file.
`projectFile` | Incubating Configuration for the generated project file.

### Methods

No methods

### Script blocks

No script blocks

### Property details

#### `TaskDependency` `buildDependencies` (read-only)

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.

#### `XmlConfigFile` `filtersFile` (read-only)

Note: This property is incubating and may change in a future version of Gradle.

Configuration for the generated filters file.

#### `XmlConfigFile` `projectFile` (read-only)

Note: This property is incubating and may change in a future version of Gradle.

Configuration for the generated project file.