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


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

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

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

Примеры

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

Перед выполнением этих макросов откройте проект 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

В двух следующих примерах для подключения к событиям проекта 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

См. также

Ссылки

VSProjectEvents2 Интерфейс

BuildManagerEvents - перегрузка

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

Другие ресурсы

Оператор Option Strict