Export (0) Print
Expand All

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)

[GuidAttribute("C711E2B7-3C58-4C37-9359-705208A890AE")]
public interface BuildManager

The BuildManager type exposes the following members.

  NameDescription
Public propertyContainingProjectGets the project of which the selected item is a part. Read-only.
Public propertyDesignTimeOutputMonikersGets the temporary portable executable (PE) monikers for a project.
Public propertyDTEGets the top-level extensibility object.
Public propertyParentGets the immediate parent object of a given object.
Top

  NameDescription
Public methodBuildDesignTimeOutputBuilds a temporary portable executable (PE) and returns its description in an XML string.
Top

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.

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
Show:
© 2014 Microsoft