Metoda SolutionBuild2.BuildProject —
Tworzy określony projekt i jego zależności w kontekście określona konfiguracja rozwiązania.
Przestrzeń nazw: EnvDTE80
Zestaw: EnvDTE80 (w EnvDTE80.dll)
Składnia
'Deklaracja
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
)
Parametry
SolutionConfiguration
Typ: StringWymagane.Nazwa nowej konfiguracji roztwór, która zapewnia kontekstu, w której ma być tworzony projekt.
ProjectUniqueName
Typ: StringWymagane.Budowanie projektu.
WaitForBuildToFinish
Typ: BooleanOpcjonalne.Określa, czy czekać na kompilacji zakończyć.Jeśli true, a następnie czeka w przeciwnym razie nie czekać.
Uwagi
BuildProjectzwraca niezwłocznie.Aby określić, po zakończeniu operacji budowania rozwiązania, należy sprawdzić OnBuildDone zdarzenia.
BuildProjectnie dotyczy interfejsu użytkownika (UI) z punktu widzenia zmiana konfiguracji rozwiązania aktywny lub wybranego projektu.Tworzenie projektu względem active solution configuration, użyć DTE.SolutionBuild.ActiveConfiguration.Name.
BuildProjectwpływają na interfejs użytkownika oparty na DTE.SuppressUI Flaga tym, że pasek stanu migocze i Okna dane wyjściowe i Listy zadań zawsze są aktualizowane.
BuildProjectTworzy określony projekt i wszystkie jego zależności, które są sprawdzane mają zostać zbudowane w konfiguracji określonego rozwiązania.
Przykłady
W tym przykładzie buduje projektu w trybie debugowania.Otwórz projekt w Visual Studio zintegrowane środowisko dewelopowania (IDE) przed uruchomieniem tego dodatku.
Aby uzyskać więcej informacji o sposobach uruchamiania w tym przykładzie jako dodatek, zobacz Porady: kompilowanie i uruchamianie kodu modelu obiektów automatyzacji — przykłady.
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);
}
}
Zabezpieczenia programu .NET Framework
- Pełne zaufanie do bezpośredniego wywołującego. Tego elementu członkowskiego nie można używać w kodzie częściowo zaufanym. Aby uzyskać więcej informacji, zobacz Używanie bibliotek pochodzących z częściowo zaufanego kodu.