VCFileConfiguration.Tool Property

Gets or sets the tool that will build the file.

Namespace:  Microsoft.VisualStudio.VCProjectEngine
Assembly:  Microsoft.VisualStudio.VCProjectEngine (in Microsoft.VisualStudio.VCProjectEngine.dll)

Syntax

'Declaration
Property Tool As Object
    Get
    Set
Object Tool { get; set; }
property Object^ Tool {
    Object^ get ();
    void set (Object^ value);
}
abstract Tool : Object with get, set
function get Tool () : Object
function set Tool (value : Object)

Property Value

Type: System.Object
The tool that will build the file.

Remarks

In order to change a tool associated with a particular file, you must retrieve the tool object from the FileTools collection of the VCConfiguration object, and use it to reset the tool. See the second example in this topic for details.

The tool object can be cast to the IVCRulePropertyStorage interface to provide rule-based access to the MSBuild metadata for this tool.

Examples

The following sample code uses the Tool property in the integrated development environment (IDE):

' add reference to Microsoft.VisualStudio.VCProjectEngine
Imports EnvDTE
Imports Microsoft.VisualStudio.VCProjectEngine

Public Module Module1
    Sub Test()
        Dim file, file2 As VCFile
        Dim col As IVCCollection
        Dim fileconfig As VCFileConfiguration
        Dim prj As VCProject
        prj = DTE.Solution.Projects.Item(1).Object
        col = prj.Files
        file = col.Item(1)
        col = file.FileConfigurations
        fileconfig = col.Item("Debug|Win32")
       MsgBox(fileconfig.Tool.ToolName)
    End Sub
End Module

The following sample shows how to change the tool associated with a given file.

' add reference to Microsoft.VisualStudio.VCProjectEngine
Imports EnvDTE
Imports Microsoft.VisualStudio.VCProjectEngine

Public Module Module1
    Sub Test()
        Dim file, file2 As VCFile
        Dim col As IVCCollection
        Dim col2 As IVCCollection
        Dim fileconfig As VCFileConfiguration
        Dim prj As VCProject
        Dim tool As Object

        ' retrieves the tool
        prj = DTE.Solution.Projects.Item(1).Object
        col2 = prj.Configurations
        Dim config As VCConfiguration
        config = col2.Item("Debug|Win32")
        tool = config.FileTools.Item(5)

        ' changes the tool associated with a file
        col = prj.Files
        file = col.Item(1)
        col = file.FileConfigurations
        fileconfig = col.Item("Debug|Win32")
        MsgBox(fileconfig.Tool.ToolName)
        fileconfig.Tool = tool
        MsgBox(fileconfig.Tool.ToolName)
    End Sub
End Module

See How to: Compile Example Code for Project Model Extensibility for information on how to compile and run this sample.

.NET Framework Security

See Also

Reference

VCFileConfiguration Interface

Microsoft.VisualStudio.VCProjectEngine Namespace