VSProjectEvents2.BuildManagerEvents 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取一个 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
属性值
实现
- 属性
示例
此示例使用对象将事件处理方法连接 DesignTimeOutputDeleted 到 DesignTimeOutputDirty 特定项目的和事件 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。