共用方式為


SolutionBuild2.BuildProject 方法 (String, String, Boolean)

在指定的方案組態內容中,建置指定的專案及其相依性。

命名空間:  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
    型別:System.String
    必要項。新的方案組態名稱,您可以在它提供的內容中建置專案。
  • ProjectUniqueName
    型別:System.String
    必要項。要建置的專案。
  • WaitForBuildToFinish
    型別:System.Boolean
    選擇項。決定是否等待建置完成。如果為 true,則它會等待,在其他情況下則不會等待。

備註

BuildProject 會立即傳回。 若要判斷方案建置作業何時完成,您必須核取 OnBuildDone 事件。

BuildProject 在變更使用中的方案組態或選取專案時,不會影響使用者介面 (UI)。 如果您要建置與使用中的方案組態相關的專案,請使用 DTE.SolutionBuild.ActiveConfiguration.Name。

BuildProject 會影響以 DTE.SuppressUI 旗標為依據的 UI,其中的狀態列會閃爍、[輸出視窗] 和 [工作清單] 也一律會更新。

BuildProject 會建置指定的專案,以及這個專案中所有要檢查用來在指定之方案組態中進行建置的相依性。

範例

這個範例會在偵錯模式中建置專案。 執行這個增益集之前,先開啟 Visual Studio 整合式開發環境 (IDE) 中的專案。

如需如何像執行增益集一般,執行這個範例的詳細資訊,請參閱 HOW TO:編譯和執行 Automation 物件模型程式碼範例

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 介面

BuildProject 多載

EnvDTE80 命名空間