Поделиться через


VSProjectEvents.BuildManagerEvents - свойство

Получает объект BuildManagerEvents, предоставляющий доступ к событиям BuildManager.

Пространство имен:  VSLangProj
Сборка:  VSLangProj (в VSLangProj.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.

Заметки

События BuildManager применяются для отслеживания изменений элементов проекта, связанных с настраиваемыми инструментами. Идентификатор DesignTimeOutputDirty указывает, что элемент проекта был добавлен или изменен. Идентификатор DesignTimeOutputDeleted указывает, что элемент проекта был удален. Дополнительные сведения см. в разделе BuildManager.

Примеры

В данном примере показано подключение методов обработки событий к событиям DesignTimeOutputDeleted и DesignTimeOutputDirty для конкретного проекта с помощью объекта Events.

' 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

В двух следующих примерах для подключения к событиям проекта Visual Basic используется свойство VBBuildManagerEvents с поздней привязкой. Для подключения к событиям 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

См. также

Ссылки

VSProjectEvents Интерфейс

VSLangProj - пространство имен