VSProjectEvents2.BuildManagerEvents 属性

获取提供对 BuildManager 事件的访问的 BuildManagerEvents 对象。

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

语法

声明
ReadOnly Property BuildManagerEvents As BuildManagerEvents
    Get
BuildManagerEvents BuildManagerEvents { get; }
property BuildManagerEvents^ BuildManagerEvents {
    BuildManagerEvents^ get ();
}
abstract BuildManagerEvents : BuildManagerEvents
function get BuildManagerEvents () : BuildManagerEvents

属性值

类型:VSLangProj.BuildManagerEvents
BuildManagerEvents 对象。

实现

VSProjectEvents.BuildManagerEvents

备注

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

示例

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

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

' 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

.NET Framework 安全性

请参见

参考

VSProjectEvents2 接口

BuildManagerEvents 重载

VSLangProj80 命名空间

其他资源

Option Strict 语句