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
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.
См. также
Ссылки
BuildManagerEvents - перегрузка
VSLangProj80 - пространство имен