다음을 통해 공유


SolutionBuild2.BuildProject 메서드

지정된 솔루션 구성에서 지정된 프로젝트와 해당 종속성을 빌드합니다.

네임스페이스:  EnvDTE80
어셈블리:  EnvDTE80(EnvDTE80.dll)

구문

‘선언
Sub BuildProject ( _
    SolutionConfiguration As String, _
    ProjectUniqueName As String, _
    WaitForBuildToFinish As Boolean _
)
void BuildProject(
    string SolutionConfiguration,
    string ProjectUniqueName,
    bool WaitForBuildToFinish
)
void BuildProject(
    String^ SolutionConfiguration, 
    String^ ProjectUniqueName, 
    bool WaitForBuildToFinish
)
abstract BuildProject : 
        SolutionConfiguration:string * 
        ProjectUniqueName:string * 
        WaitForBuildToFinish:bool -> unit
function BuildProject(
    SolutionConfiguration : String, 
    ProjectUniqueName : String, 
    WaitForBuildToFinish : boolean
)

매개 변수

  • SolutionConfiguration
    형식: String

    필수입니다. 프로젝트를 빌드할 컨텍스트를 제공하는 새 솔루션 구성의 이름입니다.

  • ProjectUniqueName
    형식: String

    필수입니다. 빌드할 프로젝트입니다.

  • WaitForBuildToFinish
    형식: Boolean

    선택 사항 빌드가 완료될 때까지 기다려야 하는지 여부를 확인합니다. true이면 빌드가 완료될 때까지 기다리고, 그렇지 않으면 기다리지 않습니다.

설명

BuildProject는 즉시 반환됩니다. 솔루션 빌드 작업이 완료된 시간을 확인하려면 OnBuildDone 이벤트를 확인해야 합니다.

BuildProject는 활성 솔루션 구성이나 선택된 프로젝트 변경과 관련하여 UI(사용자 인터페이스)에 영향을 주지 않습니다. 활성 솔루션 구성에 대해 상대적인 프로젝트를 구성하려면 DTE.SolutionBuild.ActiveConfiguration.Name을 사용합니다.

BuildProject는 상태 표시줄이 깜박이고 출력 창작업 목록이 항상 업데이트된다는 점에서 DTE.SuppressUI플래그를 기초로 UI에 영향을 줍니다.

BuildProject는 지정된 프로젝트 및 특정 솔루션 구성에서 빌드하도록 선택한 모든 종속 항목을 빌드합니다.

예제

이 예제에서는 디버그 모드로 프로젝트를 빌드합니다. 이 추가 기능을 실행하기 전에 Visual Studio IDE(통합 개발 환경)에서 프로젝트를 엽니다.

이 예제를 추가 기능으로 실행하는 방법에 대한 자세한 내용은 방법: 자동화 개체 모델 코드의 예제 컴파일 및 실행을 참조하십시오.

Imports EnvDTE
Imports EnvDTE80
Public Sub OnConnection(ByVal application As Object, _
 ByVal connectMode As ext_ConnectMode, ByVal addInInst As Object, _
 ByRef custom As Array) Implements IDTExtensibility2.OnConnection
    _applicationObject = CType(application, DTE2)
    _addInInstance = CType(addInInst, AddIn)
    SolutionBuildProjectExample(_applicationObject)
End Sub
Sub SolutionBuildProjectExample(ByVal dte As DTE2)
    ' Open a solution in Visual Studio before running this example.
    Try
        Dim soln As Solution2 = CType(_applicationObject.Solution, _
        Solution2)
        Dim sb As SolutionBuild2
        Dim bld As BuildDependencies
        Dim p1 As Project = soln.Projects.Item(1)
        sb = CType(soln.SolutionBuild, SolutionBuild2)
        bld = sb.BuildDependencies
        MsgBox("The project " & bld.Item(1).Project.Name & " has "  _
        & bld.Count.ToString() & " build dependencies.")
        MsgBox("Building the project in debug mode...")
        sb.BuildProject("Debug", p1.FullName, True)
    Catch ex As System.Exception
        MsgBox(ex.ToString)
    End Try
End Sub
using EnvDTE;
using EnvDTE80;
using System.Windows.Forms;
public void OnConnection(object application,
 ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    SolutionBuildProjectExample(_applicationObject);
}
public void SolutionBuildProjectExample(DTE2 dte)
{
    try
    {
        Solution2 soln = (Solution2)_applicationObject.Solution;
        SolutionBuild2 sb;
        BuildDependencies bld;
        Project p1 = soln.Projects.Item(1);
        // Open a solution in Visual Studio before 
        // running this example.
        sb = (SolutionBuild2)soln.SolutionBuild;
        bld = sb.BuildDependencies;
        MessageBox.Show("The project " + bld.Item(1).Project.Name 
+ " has " + bld.Count.ToString() + " build dependencies.");
        MessageBox.Show("Building the project in debug mode...");
        sb.BuildProject("Debug", p1.FullName,true);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

.NET Framework 보안

참고 항목

참조

SolutionBuild2 인터페이스

EnvDTE80 네임스페이스