VSProjectEvents2.BuildManagerEvents - свойство
Получает объект BuildManagerEvents, предоставляющий доступ к событиям BuildManager.
Пространство имен: VSLangProj80
Сборка: VSLangProj80 (в VSLangProj80.dll)
Синтаксис
'Декларация
ReadOnly Property BuildManagerEvents As BuildManagerEvents
BuildManagerEvents BuildManagerEvents { get; }
property BuildManagerEvents^ BuildManagerEvents {
BuildManagerEvents^ get ();
}
abstract BuildManagerEvents : BuildManagerEvents with get
function get BuildManagerEvents () : BuildManagerEvents
Значение свойства
Тип: BuildManagerEvents
Объект BuildManagerEvents.
Заметки
События BuildManagerEvents применяются для отслеживания изменений элементов проекта, связанных с настраиваемыми инструментами. Событие DesignTimeOutputDirty указывает, что элемент проекта был добавлен или изменен. Событие DesignTimeOutputDeleted указывает, что элемент проекта был удален. Дополнительные сведения см. в разделе BuildManager.
Примеры
В данном примере показано подключение методов обработки событий к событиям DesignTimeOutputDeleted и DesignTimeOutputDirty для конкретного проекта с помощью объекта Events. Дополнительные сведения о запуске примеров макросов см. в разделе Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации.
Открытие проекта Visual Basic или Visual C# перед запуском эти макросы.
' 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
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Для получения дополнительной информации см. Использование библиотек из не вполне надежного кода.
См. также
Ссылки
VSLangProj80 - пространство имен