Aracılığıyla paylaş


SolutionBuild2.BuildState Özellik

Bir yapı halen sürmekte olup bir yapı bugüne kadar geçerli ortamı oturumda başlatılmış olup olmadığını veya bir yapı tamamlanmış olup olmadığını alır.

Ad alanı:  EnvDTE80
Derleme:  EnvDTE80 (EnvDTE80.dll içinde)

Sözdizimi

'Bildirim
ReadOnly Property BuildState As vsBuildState
vsBuildState BuildState { get; }
property vsBuildState BuildState {
    vsBuildState get ();
}
abstract BuildState : vsBuildState
function get BuildState () : vsBuildState

Özellik Değeri

Tür: EnvDTE.vsBuildState
A vsBuildState yapı işlem durumunu gösteren değer.

Notlar

BuildStatesahip vsBuildStateNotStarted bir yarış durumu tespit edebilirsiniz böylece bir işlem, bir oluşturma yapmak için ortamı başlatır ve yapı aslında başladı önce yapı durumunu kontrol eder.Olup olmadığını kontrol vsBuildState eşittir vsBuildStateNotStarted , bu durumu önlemek sağlar.Ayrıca belirlemenizi sağlar mı değeri LastBuildInfo özelliği, geçerli.

Örnekler

Bu örnek, her etkin Başlangıç yapılandırması oluşturma durumunu belirler.Bir proje açın Visual Studio bu eklenti çalıştırmadan önce tümleşik geliştirme ortamı (IDE).

Bu örnek, bir eklenti çalıştırma hakkında daha fazla bilgi için bkz: Nasıl yapılır: derlemek ve Otomasyon nesne modeli kod örneklerini çalıştırmak.

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)
    SolutionBuild2Example(_applicationObject)
End Sub
Sub SolutionBuild2Example(ByVal dte As DTE2)
    ' Open a solution in the Visual Studio IDE
    ' before running this example.
    Try
        Dim sb As SolutionBuild2
        sb = CType(_applicationObject.Solution.SolutionBuild _
        , SolutionBuild2)
        Dim sc As SolutionConfiguration2
        sc = CType(sb.ActiveConfiguration, SolutionConfiguration2)
        Dim vsBldSt As vsBuildState
        Dim msg As String = "Return relative path to startup  _
        projects: "
        For Each s As String In CType(sb.StartupProjects, Array)
            msg &= vbCr & " " & s
        Next
        msg &= vbCr & "SolutionConfiguration: " & sc.Name
        vsBldSt = sb.BuildState
        If (vsBldSt = vsBuildState.vsBuildStateDone) Then
            msg &= vbCr & "A build has occurred."
        ElseIf (vsBldSt = vsBuildState.vsBuildStateInProgress) Then
            msg &= vbCr & "A build is in progress."
        Else : msg &= vbCr & "A build has not occurred."
        End If
        MsgBox(msg)
    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;
    SolutionBuild2Example(_applicationObject);
}
public void SolutionBuild2Example(DTE2 dte)
{
    try
    {
        SolutionBuild2 sb =
 (SolutionBuild2)_applicationObject.Solution.SolutionBuild;
        SolutionConfiguration2 sc =
 (SolutionConfiguration2)sb.ActiveConfiguration;
        vsBuildState vsBS;
        string msg = "Return relative path to startup projects: ";
        foreach (String s in (Array)sb.StartupProjects)
        {
            msg += "\n   " + s;
        }
        msg += "\nSolutionConfiguration: " + sc.Name;
        vsBS = sb.BuildState;
        if (vsBS == vsBuildState.vsBuildStateDone)
            msg += "\nA build has occurred.";
        else if (vsBS == vsBuildState.vsBuildStateInProgress)
            msg += "\nA build is in progress.";
        else msg += "\nA build has not occurred.";
        MessageBox.Show(msg);
    }
    catch(Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

.NET Framework Güvenliği

Ayrıca bkz.

Başvuru

SolutionBuild2 Arabirim

BuildState Fazla Yük

EnvDTE80 Ad Alanı