VSProjectEvents2.BuildManagerEvents 属性

定义

获取一个 BuildManagerEvents 对象,该对象提供对 BuildManager 事件的访问。

public:
 property VSLangProj::BuildManagerEvents ^ BuildManagerEvents { VSLangProj::BuildManagerEvents ^ get(); };
public:
 property VSLangProj::BuildManagerEvents ^ BuildManagerEvents { VSLangProj::BuildManagerEvents ^ get(); };
[System.Runtime.InteropServices.DispId(2)]
public VSLangProj.BuildManagerEvents BuildManagerEvents { [System.Runtime.InteropServices.DispId(2)] get; }
[<System.Runtime.InteropServices.DispId(2)>]
[<get: System.Runtime.InteropServices.DispId(2)>]
member this.BuildManagerEvents : VSLangProj.BuildManagerEvents
Public ReadOnly Property BuildManagerEvents As BuildManagerEvents

属性值

BuildManagerEvents

BuildManagerEvents 对象。

实现

属性

示例

此示例使用对象将事件处理方法连接 DesignTimeOutputDeletedDesignTimeOutputDirty 特定项目的和事件 Events 。 有关如何运行宏示例的详细信息,请参阅 如何:编译和运行自动化对象模型代码示例

Visual Basic Visual C# 在运行这些宏之前,请先打开或项目。

' Macro Editor  
' Connects events in a Visual Basic or Visual C# project.  
Imports VSLangProj  
Imports VSLangProj80  
Sub ConnectEvents()  
   Dim proj As Project = DTE.Solution.Projects.Item(1)  
   Dim vsproj As VSProject2 = CType(proj.Object, VSProject2)  
   Dim buildman As BuildManagerEvents = vsproj.Events.BuildManagerEvents  
   AddHandler buildman.DesignTimeOutputDeleted, AddressOf OutputDeleted  
   AddHandler buildman.DesignTimeOutputDirty, AddressOf OutputDirty  
End Sub  

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

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

接下来的两个示例使用后期绑定 VBBuildManagerEvents 属性连接到 Visual Basic 项目事件。 使用 CSharpBuildManagerEvents 属性可以连接到 Visual C# 事件。 有关特定事件对象的详细信息,请参阅 特定于) 项目类型 (事件对象

还有两个用于处理对象事件的后期绑定方法 BuildManager 。 第一种方法允许您处理特定项目的事件,并要求 Option Strict Off 编译语句。 的参数 VBImportsEvents 是可选的。 如果省略此项,则 Visual Basic 接收解决方案中所有项目的事件。 如果调用的参数 VBBuildManagerEvents 的类型不是,则此方法将返回错误 Project 。 有关特定事件对象的详细信息,请参阅 特定于) 项目类型 (事件对象

' Macro editor  
Option Strict Off  
Imports VSLangProj  
Dim WithEvents buildEvents As BuildManagerEvents  
Sub ConnectProjectBuildManagerEvents()  
   Dim proj As Project = DTE.Solution.Projects.Item(1)  
   buildEvents = DTE.Events.VBBuildManagerEvents(proj)  
End Sub  

Public Sub buildEvents_DesignTimeOutputDeleted(ByVal bstrOutputMoniker _  
As String) Handles buildEvents.DesignTimeOutputDeleted  
   MsgBox(bstrOutputMoniker)  
End Sub  

第二个后期绑定方法用于响应解决方案中所有项目的事件。 此方法不提供一种方式来筛选特定项目的事件。 它将以进行编译 Option Strict On

' Macro editor  
Imports VSLangProj  
Dim WithEvents buildEvents As VSLangProj.BuildManagerEvents  
Sub ConnectAllBuildManagerEvents()  
   buildEvents = CType(DTE.Events.GetObject("VBBuildManagerEvents"), _  
      BuildManagerEvents)  
End Sub  

Public Sub buildEvents_DesignTimeOutputDeleted(ByVal bstrOutputMoniker _  
As String) Handles buildEvents.DesignTimeOutputDeleted  
   MsgBox(bstrOutputMoniker)  
End Sub  

注解

BuildManagerEvents事件用于跟踪对与自定义工具关联的项目项所做的更改。 DesignTimeOutputDirty事件指示已添加或更改项目项。 DesignTimeOutputDeleted事件指示项目项已删除。 有关更多信息,请参见 BuildManager

适用于