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 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。