SolutionBuild2.BuildProject 方法

在指定解决方案配置的上下文中生成指定的项目及其依赖项。

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

语法

声明
Sub BuildProject ( _
    SolutionConfiguration As String, _
    ProjectUniqueName As String, _
    WaitForBuildToFinish As Boolean _
)
void BuildProject(
    string SolutionConfiguration,
    string ProjectUniqueName,
    bool WaitForBuildToFinish
)
void BuildProject(
    String^ SolutionConfiguration, 
    String^ ProjectUniqueName, 
    bool WaitForBuildToFinish
)
abstract BuildProject : 
        SolutionConfiguration:string * 
        ProjectUniqueName:string * 
        WaitForBuildToFinish:bool -> unit
function BuildProject(
    SolutionConfiguration : String, 
    ProjectUniqueName : String, 
    WaitForBuildToFinish : boolean
)

参数

  • SolutionConfiguration
    类型:String

    必选。 新解决方案配置的名称,此解决方案配置提供生成项目的上下文。

  • ProjectUniqueName
    类型:String

    必选。 要生成的项目。

  • WaitForBuildToFinish
    类型:Boolean

    可选。 确定是否等待生成完成。 如果为 true,则它等待;否则不等待。

备注

BuildProject 立即返回。 要确定解决方案生成操作何时完成,必须检查 OnBuildDone 事件。

BuildProject 在更改活动解决方案配置或选定的项目方面不影响用户界面 (UI)。 如果要生成与活动解决方案配置相关的项目,请使用 DTE.SolutionBuild.ActiveConfiguration.Name。

BuildProject 确实影响基于 DTE.SuppressUI 标志的 UI,原因在于状态栏的闪烁以及**“输出窗口”“任务列表”**总是被更新。

BuildProject 生成指定的项目及其处于选中状态的所有依赖项,这些依赖项将在指定的解决方案配置中生成。

示例

此示例在调试模式下生成项目。 在运行此外接程序之前,在 Visual Studio 集成开发环境 (IDE) 中打开项目。

有关如何作为外接程序运行此示例的更多信息,请参见 如何:编译和运行自动化对象模型代码示例

Imports EnvDTE
Imports EnvDTE80
Public Sub OnConnection(ByVal application As Object, _
 ByVal connectMode As ext_ConnectMode, ByVal addInInst As Object, _
 ByRef custom As Array) Implements IDTExtensibility2.OnConnection
    _applicationObject = CType(application, DTE2)
    _addInInstance = CType(addInInst, AddIn)
    SolutionBuildProjectExample(_applicationObject)
End Sub
Sub SolutionBuildProjectExample(ByVal dte As DTE2)
    ' Open a solution in Visual Studio before running this example.
    Try
        Dim soln As Solution2 = CType(_applicationObject.Solution, _
        Solution2)
        Dim sb As SolutionBuild2
        Dim bld As BuildDependencies
        Dim p1 As Project = soln.Projects.Item(1)
        sb = CType(soln.SolutionBuild, SolutionBuild2)
        bld = sb.BuildDependencies
        MsgBox("The project " & bld.Item(1).Project.Name & " has "  _
        & bld.Count.ToString() & " build dependencies.")
        MsgBox("Building the project in debug mode...")
        sb.BuildProject("Debug", p1.FullName, True)
    Catch ex As System.Exception
        MsgBox(ex.ToString)
    End Try
End Sub
using EnvDTE;
using EnvDTE80;
using System.Windows.Forms;
public void OnConnection(object application,
 ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    SolutionBuildProjectExample(_applicationObject);
}
public void SolutionBuildProjectExample(DTE2 dte)
{
    try
    {
        Solution2 soln = (Solution2)_applicationObject.Solution;
        SolutionBuild2 sb;
        BuildDependencies bld;
        Project p1 = soln.Projects.Item(1);
        // Open a solution in Visual Studio before 
        // running this example.
        sb = (SolutionBuild2)soln.SolutionBuild;
        bld = sb.BuildDependencies;
        MessageBox.Show("The project " + bld.Item(1).Project.Name 
+ " has " + bld.Count.ToString() + " build dependencies.");
        MessageBox.Show("Building the project in debug mode...");
        sb.BuildProject("Debug", p1.FullName,true);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

.NET Framework 安全性

请参阅

参考

SolutionBuild2 接口

EnvDTE80 命名空间