Share via


BuildManager 接口

由第三方开发人员使用,用来管理通过运行自定义工具生成的可移植可执行 (PE) 文件。

命名空间:  VSLangProj
程序集:  VSLangProj(在 VSLangProj.dll 中)

语法

声明
<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

BuildManager 类型公开以下成员。

属性

  名称 说明
公共属性 ContainingProject 获取选定项所属的项目。只读。
公共属性 DesignTimeOutputMonikers 获取项目的临时可移植可执行 (PE) 名字对象。
公共属性 DTE 获取顶级扩展性对象。
公共属性 Parent 获取给定对象的直接父对象。

页首

方法

  名称 说明
公共方法 BuildDesignTimeOutput 生成临时可移植可执行文件 (PE) 并以 XML 字符串格式返回关于该文件的说明。

页首

备注

借助 BuildManager 可以访问项目的临时 PE,临时 PE 是从自定义工具输出中创建的。 有关更多信息,请参阅 BuildManager 对象介绍RunCustomTool 方法。

示例

本示例列出了项目中的临时 PE 的所有名字对象。 项目项只有将自己的 CustomTool 属性设置成可生成设计时输出的自定义工具,才能有关联的名字对象。 查看名字对象的一个简单方法是,创建一个 Windows 应用程序项目并添加一个 XML 架构项目项。 XML 架构项目项具有设置为 MSDataSetGenerator 的 CustomTool 属性。

' 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

请参阅

参考

VSLangProj 命名空间