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 安全性
- 完全信任立即呼叫者。這個成員無法供部分信任的程式碼使用。如需詳細資訊,請參閱從部分受信任程式碼使用程式庫。