SolutionBuild.BuildState プロパティ

更新 : 2007 年 11 月

現在の環境セッションでビルドが開始されたかどうか、現在ビルド中かどうか、またはビルドが完了したかどうかを示す値を取得します。

名前空間 :  EnvDTE
アセンブリ :  EnvDTE (EnvDTE.dll 内)

構文

'宣言
ReadOnly Property BuildState As vsBuildState
'使用
Dim instance As SolutionBuild
Dim value As vsBuildState

value = instance.BuildState
vsBuildState BuildState { get; }
property vsBuildState BuildState {
    vsBuildState get ();
}
function get BuildState () : vsBuildState

プロパティ値

型 : EnvDTE.vsBuildState

ビルド操作のステータスを表す vsBuildState 値。

解説

BuildState の定数 vsBuildStateNotStarted では、競合状態を検出できます。つまり、実際にビルドを開始する前にビルドを実行する環境を起動し、ビルド状態を確認できます。vsBuildStatevsBuildStateNotStarted が等しいことを確認することで、競合状態を回避できます。また、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);
    }
}

アクセス許可

  • 直前の呼び出し元に対する完全な信頼。このメンバは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。

参照

参照

SolutionBuild インターフェイス

SolutionBuild メンバ

EnvDTE 名前空間