Partager via


SolutionBuild.BuildState, propriété

Obtient une valeur indiquant si une génération a déjà été démarrée dans la session d'environnement en cours, si une génération est actuellement en cours ou si une génération est terminée.

Espace de noms :  EnvDTE
Assembly :  EnvDTE (dans EnvDTE.dll)

Syntaxe

'Déclaration
ReadOnly Property BuildState As vsBuildState
    Get
vsBuildState BuildState { get; }
property vsBuildState BuildState {
    vsBuildState get ();
}
abstract BuildState : vsBuildState
function get BuildState () : vsBuildState

Valeur de propriété

Type : EnvDTE.vsBuildState
Valeur vsBuildState représentant l'état de l'opération de génération.

Notes

BuildState a la valeur vsBuildStateNotStarted afin de détecter une condition de concurrence critique, que vous rencontrez si vous demandez à l'environnement d'effectuer une génération, puis lorsque vous vérifiez l'état de la génération alors qu'elle n'a pas encore véritablement commencé. Vérifier si vsBuildState est égal à vsBuildStateNotStarted permet d'éviter cette situation. Vous pouvez aussi déterminer si la valeur de la propriété LastBuildInfo est valide.

Exemples

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);
    }
}

Sécurité .NET Framework

Voir aussi

Référence

SolutionBuild Interface

EnvDTE, espace de noms