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
- Confiance totale accordée à l'appelant immédiat. Ce membre ne peut pas être utilisé par du code d'un niveau de confiance partiel. Pour plus d'informations, consultez Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel.