SolutionBuild.BuildState 属性

获取是否已在当前环境会话中启动了一个生成、当前是否有一个生成正在进行或者是否已完成了一个生成。

命名空间:  EnvDTE
程序集:  EnvDTE(在 EnvDTE.dll 中)

语法

声明
ReadOnly Property BuildState As vsBuildState
vsBuildState BuildState { get; }
property vsBuildState BuildState {
    vsBuildState get ();
}
abstract BuildState : vsBuildState
function get BuildState () : vsBuildState

属性值

类型:EnvDTE.vsBuildState
一个表示生成操作状态的 vsBuildState 值。

备注

BuildState 具有 vsBuildStateNotStarted,以便您可以检测到竞争状态;即,当您启动环境来执行一个生成,然后在生成实际开始之前检查其生成状态时可以检测到竞争状态。 通过查看 vsBuildState 是否等于 vsBuildStateNotStarted,可以避免这种状况。 它还使您可以确定 LastBuildInfo 属性的值是否有效。

示例

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 安全性

请参见

参考

SolutionBuild 接口

EnvDTE 命名空间