Compartilhar via


BuildManager Interface

Used by third-party developers to manage the portable executable (PE) files produced by running custom tools.

Namespace:  VSLangProj
Assembly:  VSLangProj (in VSLangProj.dll)

Syntax

'Declaration
<GuidAttribute("C711E2B7-3C58-4C37-9359-705208A890AE")> _
Public Interface BuildManager
[GuidAttribute("C711E2B7-3C58-4C37-9359-705208A890AE")]
public interface BuildManager
[GuidAttribute(L"C711E2B7-3C58-4C37-9359-705208A890AE")]
public interface class BuildManager
[<GuidAttribute("C711E2B7-3C58-4C37-9359-705208A890AE")>]
type BuildManager =  interface end
public interface BuildManager

The BuildManager type exposes the following members.

Properties

  Name Description
Public property ContainingProject Gets the project of which the selected item is a part. Read-only.
Public property DesignTimeOutputMonikers Gets the temporary portable executable (PE) monikers for a project.
Public property DTE Gets the top-level extensibility object.
Public property Parent Gets the immediate parent object of a given object.

Top

Methods

  Name Description
Public method BuildDesignTimeOutput Builds a temporary portable executable (PE) and returns its description in an XML string.

Top

Remarks

The BuildManager provides access to the project's temporary PEs, which are created from custom tool output. For more information, see Introduction to the BuildManager Object and RunCustomTool method.

Examples

This example lists all the monikers for temporary PEs in a project. Only project items that have their CustomTool property set to a custom tool that generates design-time output have monikers associated with them. One easy way to see a moniker is to create a Windows Application project and add an XML Schema project item. The XML Schema project item has the CustomTool property set to MSDataSetGenerator.

' Macro editor
Sub BuildManagerExample()
   Try
      Dim proj As VSLangProj.VSProject = _
         CType(DTE.Solution.Projects.Item(1).Object, VSLangProj.VSProject)
      Dim build As BuildManager = proj.BuildManager
      Dim monikers As String() = _
         CType(build.DesignTimeOutputMonikers, String())
      Dim moniker As String
      ' List the monikers.
      For Each moniker In monikers
         MsgBox(moniker & ControlChars.CrLf & _
            build.BuildDesignTimeOutput(moniker))
      Next
      ' Hook up some events.
      Dim buildEvents As BuildManagerEvents = _
         proj.Events.BuildManagerEvents
      AddHandler buildEvents.DesignTimeOutputDeleted, _
         AddressOf OutputDeleted
      AddHandler buildEvents.DesignTimeOutputDirty, _
         AddressOf OutputDirty
   Catch ex As System.Exception
      MsgBox("Cannot list monikers and hook up events.")
   End Try
End Sub

Sub OutputDeleted(ByVal deletedMoniker As String)
   MsgBox(deletedMoniker & " was deleted.")
End Sub

Sub OutputDirty(ByVal dirtyMoniker As String)
   MsgBox(dirtyMoniker & " is dirty.")
End Sub

See Also

Reference

VSLangProj Namespace