Condividi tramite


Interfaccia SolutionBuild2

Rappresenta l'oggetto radice del modello di automazione della compilazione a livello di soluzione.

Spazio dei nomi:  EnvDTE80
Assembly:  EnvDTE80 (in EnvDTE80.dll)

Sintassi

'Dichiarazione
<GuidAttribute("C2516E4B-5D69-459D-B539-C95A71C4FA3D")> _
Public Interface SolutionBuild2 _
    Inherits SolutionBuild
[GuidAttribute("C2516E4B-5D69-459D-B539-C95A71C4FA3D")]
public interface SolutionBuild2 : SolutionBuild
[GuidAttribute(L"C2516E4B-5D69-459D-B539-C95A71C4FA3D")]
public interface class SolutionBuild2 : SolutionBuild
[<GuidAttribute("C2516E4B-5D69-459D-B539-C95A71C4FA3D")>]
type SolutionBuild2 =  
    interface 
        interface SolutionBuild 
    end
public interface SolutionBuild2 extends SolutionBuild

Il tipo SolutionBuild2 espone i seguenti membri.

Proprietà

  Nome Descrizione
Proprietà pubblica ActiveConfiguration Ottiene l'oggetto SolutionConfiguration attivo.
Proprietà pubblica BuildDependencies Ottiene una raccolta BuildDependencies che consente di specificare le relazioni di dipendenza tra i progetti.
Proprietà pubblica BuildState Ottiene un valore che indica se una compilazione è stata avviata nella sessione corrente dell'ambiente, se una compilazione è attualmente in corso o se una compilazione è stata completata.
Proprietà pubblica DTE Ottiene l'oggetto estensibilità di primo livello.
Proprietà pubblica LastBuildInfo Ottiene il numero di progetti la cui compilazione ha avuto esito negativo.
Proprietà pubblica LastPublishInfo Ottiene il numero di elementi pubblicati correttamente.
Proprietà pubblica Parent Ottiene l'oggetto padre immediato di un oggetto SolutionBuild.
Proprietà pubblica PublishState Ottiene lo stato di un'operazione di pubblicazione.
Proprietà pubblica SolutionConfigurations Ottiene una raccolta di oggetti SolutionConfiguration.
Proprietà pubblica StartupProjects Ottiene o imposta i nomi di progetti che rappresentano punti di ingresso per l'applicazione.

In alto

Metodi

  Nome Descrizione
Metodo pubblico Build Comporta l'avvio della compilazione della configurazione di soluzione attiva.
Metodo pubblico BuildProject Compila il progetto specificato e le relative dipendenze nel contesto della configurazione di soluzione specificata.
Metodo pubblico Clean Elimina tutti i file di supporto generati dal compilatore per i progetti contrassegnati.
Metodo pubblico Debug Avvia il debug della soluzione.
Metodo pubblico Deploy Comporta la distribuzione di ogni progetto contrassegnato per la distribuzione nella configurazione di soluzione attiva.
Metodo pubblico DeployProject Distribuisce un progetto.
Metodo pubblico Publish Avvia un'operazione di pubblicazione.
Metodo pubblico PublishProject Pubblica un progetto.
Metodo pubblico Run Comporta l'esecuzione della configurazione di soluzione attiva.

In alto

Note

L'oggetto SolutionBuild consente di accedere a tutte le configurazioni della soluzione e alle relative proprietà, alle dipendenze di compilazione del progetto e ai progetti di avvio.

L'oggetto corrispondente all'oggetto SolutionBuild a livello degli elementi del progetto è l'oggetto ConfigurationManager.

Esempi

In questo esempio il primo elemento della configurazione della soluzione viene impostato su "Release" e viene quindi compilata la soluzione. e aprire un progetto nell'ambiente di sviluppo integrato (IDE) Visual Studio.

Per ulteriori informazioni sulla modalità di esecuzione di questo esempio come componente aggiuntivo, vedere Procedura: compilare ed eseguire gli esempi di codice del modello a oggetti di automazione.

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)
    SolutionBuild2BuildExample(_applicationObject)
End Sub
Sub SolutionBuild2BuildExample(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
        sb = CType(soln.SolutionBuild, SolutionBuild2)
        bld = sb.BuildDependencies
        MsgBox("The project " & bld.Item(1).Project.Name & " has "  _
        & bld.Count.ToString() & " build dependencies.")
        MsgBox("Set the configuration to release and build...")
        sb.SolutionConfigurations.Item("Release").Activate()
        sb.Build()
    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;
    SolutionBuild2BuildExample(_applicationObject);
}
public void SolutionBuild2BuildExample(DTE2 dte)
{
    try
    {
        Solution2 soln = (Solution2)_applicationObject.Solution;
        SolutionBuild2 sb;
        BuildDependencies bld;
        // 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("Set the configuration to release 
and build...");
        sb.SolutionConfigurations.Item("Release").Activate();
        sb.Build(true);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

Vedere anche

Riferimenti

Spazio dei nomi EnvDTE80