VCFileConfiguration.Tool Property
Visual Studio 2010
Gets or sets the tool that will build the file.
Assembly: Microsoft.VisualStudio.VCProjectEngine (in Microsoft.VisualStudio.VCProjectEngine.dll)
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.
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.
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.