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 对象将事件处理方法连接到特定项目的 DesignTimeOutputDeleted 和 DesignTimeOutputDirty 事件。 有关如何运行宏示例的更多信息,请参见 如何:编译和运行自动化对象模型代码示例。
在运行这些宏之前,请打开一个 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 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。