Freigeben über


SolutionBuild.BuildState-Eigenschaft

Ruft ab, ob in der aktuellen Umgebungssitzung schon einmal ein Buildvorgang gestartet wurde, gerade ausgeführt wird oder abgeschlossen wurde.

Namespace:  EnvDTE
Assembly:  EnvDTE (in EnvDTE.dll)

Syntax

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

Eigenschaftswert

Typ: EnvDTE.vsBuildState
Ein vsBuildState-Wert, der den Status des Buildvorgangs darstellt.

Hinweise

BuildState verfügt über die Konstante vsBuildStateNotStarted, damit Sie eine Racebedingung feststellen können; diese tritt auf, wenn Sie einen Buildvorgang in der Umgebung starten und anschließend den Buildzustand überprüfen, bevor tatsächlich mit dem Buildvorgang begonnen wurde. Sie können eine solche Situation vermeiden, indem Sie überprüfen, ob vsBuildState gleich vsBuildStateNotStarted ist. Außerdem können Sie dadurch bestimmen, ob der Wert der LastBuildInfo-Eigenschaft gültig ist.

Beispiele

public void CodeExample(DTE2 dte)
{  
    try
    {
        SolutionBuild sb = dte.Solution.SolutionBuild;
        SolutionConfiguration sc = 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-Sicherheit

Siehe auch

Referenz

SolutionBuild Schnittstelle

EnvDTE-Namespace