# Interface VisualStudioProject

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

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

## 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 project represents.
`XmlConfigFile`
`getFiltersFile()`
Configuration for the generated filters file.
`XmlConfigFile`
`getProjectFile()`
Configuration for the generated project 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

### getComponent

NativeComponentSpec getComponent()
The component that this project represents.

### getProjectFile

XmlConfigFile getProjectFile()
Configuration for the generated project file.

### getFiltersFile

XmlConfigFile getFiltersFile()
Configuration for the generated filters file.