Partager via


SolutionBuild2, interface

Représente la racine du modèle Automation de génération, au niveau solution.

Espace de noms :  EnvDTE80
Assembly :  EnvDTE80 (dans EnvDTE80.dll)

Syntaxe

'Déclaration
<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

Le type SolutionBuild2 expose les membres suivants.

Propriétés

  Nom Description
Propriété publique ActiveConfiguration Obtient l'objet SolutionConfiguration actif.
Propriété publique BuildDependencies Obtient une collection BuildDependencies qui vous permet de spécifier les dépendances qui existent entre les projets.
Propriété publique BuildState Obtient une valeur indiquant si une génération a déjà été démarrée dans la session d'environnement en cours, si une génération est actuellement en cours ou si une génération est terminée.
Propriété publique DTE Obtient l'objet d'extensibilité de niveau supérieur.
Propriété publique LastBuildInfo Obtient le nombre de projets dont la génération a échoué.
Propriété publique LastPublishInfo Obtient le nombre d'éléments qui ont été publiés avec succès.
Propriété publique Parent Obtient l'objet parent immédiat d'un objet SolutionBuild.
Propriété publique PublishState Obtient l'état d'une opération de publication.
Propriété publique SolutionConfigurations Obtient une collection d'objets SolutionConfiguration.
Propriété publique StartupProjects Obtient ou définit les noms de projets qui sont des points d'entrée pour l'application.

Début

Méthodes

  Nom Description
Méthode publique Build Lance la génération de la configuration de solution active.
Méthode publique BuildProject Génère le projet spécifié et ses dépendances dans le contexte de la configuration de solution spécifiée.
Méthode publique Clean Supprime tous les fichiers de prise en charge générés par le compilateur pour les projets marqués.
Méthode publique Debug Commence le débogage de la solution.
Méthode publique Deploy Provoque le déploiement de tous les projets ayant reçu un marqueur de déploiement et appartenant à la configuration de solution active.
Méthode publique DeployProject Déploie un projet.
Méthode publique Publish Lance une opération de publication.
Méthode publique PublishProject Publie un projet.
Méthode publique Run Provoque l'exécution de la configuration de solution active.

Début

Notes

L'objet SolutionBuild donne accès à toutes les configurations de solutions et à leurs propriétés, aux dépendances de génération de projet et aux projets de démarrage.

L'équivalent de l'objet SolutionBuild au niveau projet et élément est l'objet ConfigurationManager.

Exemples

Cet exemple affecte "release" au premier élément des configurations de solution, puis génère la solution. Ouvrez un projet dans l'IDE de Visual Studio avant d'exécuter ce complément.

Pour plus d'informations sur l'exécution de cet exemple comme complément, consultez Comment : compiler et exécuter les exemples de code du modèle objet 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)
    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);
    }
}

Voir aussi

Référence

EnvDTE80, espace de noms