VSProjectEvents2.BuildManagerEvents 속성
BuildManager 이벤트에 대한 액세스를 제공하는 BuildManagerEvents 개체를 가져옵니다.
네임스페이스: 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을 참조하십시오.
예제
이 예제에서는 Events 개체를 사용하여 특정 프로젝트에 대한 DesignTimeOutputDeleted 및 DesignTimeOutputDirty 이벤트에 이벤트 처리 메서드를 연결합니다. 매크로 샘플을 실행하는 방법에 대한 자세한 내용은 방법: 자동화 개체 모델 코드의 예제 컴파일 및 실행을 참조하십시오.
열려 있는 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
다음 두 예제에서는 런타임에 바인딩된 VBBuildManagerEvents 속성을 사용하여 Visual Basic 프로젝트 이벤트에 연결합니다. 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 보안
- 직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분 신뢰 코드에서 라이브러리 사용를 참조하세요.