次の方法で共有


VSProjectEvents.BuildManagerEvents プロパティ

更新 : 2007 年 11 月

BuildManager イベントにアクセスできるようにする BuildManagerEvents オブジェクトを取得します。

名前空間 :  VSLangProj
アセンブリ :  VSLangProj (VSLangProj.dll 内)

構文

'宣言
ReadOnly Property BuildManagerEvents As BuildManagerEvents
'使用
Dim instance As VSProjectEvents
Dim value As BuildManagerEvents

value = instance.BuildManagerEvents
BuildManagerEvents BuildManagerEvents { get; }
property BuildManagerEvents^ BuildManagerEvents {
    BuildManagerEvents^ get ();
}
function get BuildManagerEvents () : BuildManagerEvents

プロパティ値

型 : VSLangProj.BuildManagerEvents

BuildManagerEvents オブジェクトを返します。

解説

BuildManager イベントは、カスタム ツールに関連付けられているプロジェクト項目への変更を追跡するために使用されます。DesignTimeOutputDirty は、プロジェクト項目が追加または変更されていることを示します。DesignTimeOutputDeleted は、プロジェクト項目が削除されていることを示します。詳細については、「BuildManager」を参照してください。

Events オブジェクトを使用して、特定のプロジェクトの DesignTimeOutputDeleted および DesignTimeOutputDirty に、イベント処理メソッドを関連付ける例を次に示します。

' Macro Editor
' Connects events in a Visual Basic or Visual C# project.
Imports VSLangProj
Sub ConnectEvents()
   Dim proj As Project = DTE.Solution.Projects.Item(1)
   Dim vsproj As VSProject = CType(proj.Object, VSProject)
   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

次の 2 つの例では、遅延バインディングによる VBBuildManagerEvents プロパティを使用して、Visual Basic プロジェクトのイベントにアクセスしています。Visual C# のイベントにアクセスする場合は、CSharpBuildManagerEvents プロパティを使用します。

また、BuildManager オブジェクトのイベントを処理するために、2 つの遅延バインディングによるメソッドも使用します。最初のメソッドは、特定のプロジェクトのイベントを処理するために使用され、コンパイル時に 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

もう 1 つの遅延バインディングによるメソッドは、ソリューション内のすべてのプロジェクトのイベントに対して応答するために使用されます。この方法では、特定のプロジェクトだけに対してイベントをフィルタすることはできません。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

アクセス許可

  • 直前の呼び出し元に対する完全な信頼。このメンバは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。

参照

参照

VSProjectEvents インターフェイス

VSProjectEvents メンバ

VSLangProj 名前空間