VSProjectEvents2.BuildManagerEvents 屬性
取得可用來存取 BuildManager 事件的 BuildManagerEvents 物件。
命名空間: VSLangProj80
組件: VSLangProj80 (在 VSLangProj80.dll 中)
語法
'宣告
ReadOnly Property BuildManagerEvents As BuildManagerEvents
BuildManagerEvents BuildManagerEvents { get; }
property BuildManagerEvents^ BuildManagerEvents {
BuildManagerEvents^ get ();
}
abstract BuildManagerEvents : BuildManagerEvents
function get BuildManagerEvents () : BuildManagerEvents
屬性值
型別:VSLangProj.BuildManagerEvents
BuildManagerEvents 物件。
備註
BuildManagerEvents 事件是用來追蹤與自訂工具相關的專案項目的變更。DesignTimeOutputDirty 事件表示已加入或變更專案項目。DesignTimeOutputDeleted 事件表示已刪除專案項目。如需詳細資訊,請參閱 BuildManager。
範例
這個範例使用 Events 物件將事件處理方法連接到特定專案的 DesignTimeOutputDeleted 和 DesignTimeOutputDirty 事件。如需如何執行巨集範例的詳細資訊,請參閱 HOW TO:編譯和執行 Automation 物件模型程式碼範例。
先開啟 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 專案事件。若要連接 Visual C# 事件,請使用 CSharpBuildManagerEvents 屬性。如需特定事件物件的詳細資訊,請參閱事件物件 (因各種專案類型而異)。
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 安全性
- 完全信任立即呼叫者。這個成員無法供部分信任的程式碼使用。如需詳細資訊,請參閱從部分受信任程式碼使用程式庫。