Partager via


Solution2, interface

Représente tous les projets et les propriétés de la solution de l'environnement de développement intégré (IDE, Integrated Development Environment).

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

Syntaxe

'Déclaration
<GuidAttribute("FA238614-FBB1-4314-A7F7-49AE8BB6C6BA")> _
Public Interface Solution2 _
    Inherits _Solution
[GuidAttribute("FA238614-FBB1-4314-A7F7-49AE8BB6C6BA")]
public interface Solution2 : _Solution
[GuidAttribute(L"FA238614-FBB1-4314-A7F7-49AE8BB6C6BA")]
public interface class Solution2 : _Solution
[<GuidAttribute("FA238614-FBB1-4314-A7F7-49AE8BB6C6BA")>]
type Solution2 =  
    interface 
        interface _Solution 
    end
public interface Solution2 extends _Solution

Le type Solution2 expose les membres suivants.

Propriétés

  Nom Description
Propriété publique AddIns Obtient une collection AddIns qui contient tous les compléments actuellement disponibles associés à la solution.
Propriété publique Count Obtient une valeur indiquant le nombre de projets dans la solution.
Propriété publique DTE Obtient l'objet d'extensibilité de niveau supérieur.
Propriété publique Extender Obtient l'objet Extender demandé s'il est disponible pour cet objet.
Propriété publique ExtenderCATID Obtient l'identificateur de catégorie (CATID) d'extendeur de l'objet.
Propriété publique ExtenderNames Obtient une liste d'extendeurs disponibles pour l'objet.
Propriété publique FileName Infrastructure. Réservé à un usage interne Microsoft.
Propriété publique FullName Obtient le chemin d'accès complet et le nom du fichier de l'objet.
Propriété publique Globals Obtient l'objet Globals qui contient toutes valeurs de variable pouvant être enregistrées dans le fichier solution (.sln), le fichier projet ou les données de profil de l'utilisateur.
Propriété publique IsDirty Infrastructure. Réservé à un usage interne Microsoft.
Propriété publique IsOpen Obtient une valeur qui indique si une solution est ouverte.
Propriété publique Parent Obtient l'objet parent immédiat d'un objet Solution2.
Propriété publique Projects Obtient une collection des projets actuellement présents dans la solution.
Propriété publique Properties Obtient une collection de toutes les propriétés relatives à l'objet Solution2.
Propriété publique Saved Obtient ou définit une valeur indiquant si une solution n'a pas été modifiée depuis son dernier enregistrement ou sa dernière ouverture.
Propriété publique SolutionBuild Obtient l'objet SolutionBuild pour la solution, qui représente la racine du modèle Automation de la création au niveau de la solution.
Propriété publique TemplatePath Remplacé par GetProjectTemplate.

Début

Méthodes

  Nom Description
Méthode publique AddFromFile Ajoute un projet à la solution qui est basée sur un fichier projet déjà stocké dans le système.
Méthode publique AddFromTemplate Copie un fichier projet existant, ainsi que les éléments ou sous-répertoires qu'il contient, à l'emplacement spécifié, puis l'ajoute à la solution.
Méthode publique AddSolutionFolder Ajoute un dossier de solution à une collection ProjectItems.
Méthode publique Close Ferme la solution en cours.
Méthode publique Create Crée une solution vide dans le répertoire spécifié avec le nom déterminé.
Méthode publique FindProjectItem Recherche un élément dans un projet.
Méthode publique GetEnumerator Retourne une énumération pour les éléments d'une collection.
Méthode publique GetProjectItemTemplate Retourne un chemin au modèle d'élément de projet indiqué.
Méthode publique GetProjectTemplate Retourne un chemin au modèle de projet indiqué.Si un modèle a un élément de RequiredFrameworkVersion supérieur à 4,0, vous devez fournir la version dans l'appel afin que la recherche du modèle trouve une correspondance.Par exemple, au lieu d'appeler GetProjectTemplate("Extensibility\\1033\\VSIXProject.zip", "CSharp"); appelez GetProjectTemplate("Extensibility\\1033\\VSIXProject.zip|FrameworkVersion=4.5", "CSharp");.
Méthode publique Item Retourne un membre indexé d'une collection Projects.
Méthode publique Open Ouvre une solution spécifiée.
Méthode publique ProjectItemsTemplatePath Remplacé par GetProjectItemTemplate.
Méthode publique Remove Supprime le projet spécifié de la solution.
Méthode publique SaveAs Enregistre la solution.

Début

Notes

Cette interface contient une collection de tous les projets de l'instance actuelle de l'environnement de développement intégré (IDE) et de toutes les propriétés de la solution, telles que les configurations de build. Il contient un élément de projet pour chaque projet, qu'il s'agisse d'un projet inclus dans un wrapper, d'un sous-projet ou d'un projet de niveau supérieur.

Vous pouvez rechercher la solution ouverte à l'aide de la propriété DTE.Solution. Pour faire des références à des projets virtuels, tels que MiscFiles ou SolutionItems, utilisez Solution.Item(EnvDTE.Constants.vsProjectKindMisc ou Solution.Item(EnvDTE.Constants.vsProjectKindSolutionItems.

Exemples

Pour plus d'informations sur l'exécution de ce code de complément, consultez Comment : compiler et exécuter les exemples de code du modèle objet Automation.

Le code suivant crée une solution d'application console dans le chemin d'accès donné.

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)
    SolutionExample(_applicationObject)
End Sub

Sub SolutionExample(ByVal dte As DTE2)
    ' This function creates a solution and adds a Visual Basic Console
    ' project to it.
    Try
        Dim soln As Solution2 = CType(DTE.Solution, Solution2)
        Dim vbTemplatePath As String
        ' This path must exist on your computer.
        ' Replace <file path> below with an actual path.
        Dim vbPrjPath As String = <file path>
        MsgBox("starting")
        ' Get the project template path for a Visual Basic console application project.
        vbTemplatePath = soln.GetProjectTemplate _
        ("ConsoleApplication.zip", "VisualBasic")
        ' Create a new Visual Baic Console project using the template obtained 
        ' above.
        soln.AddFromTemplate(vbTemplatePath, vbPrjPath, _
        "New Visual Basic Console Project", False)
        MsgBox("done")
    Catch ex As System.Exception
        MsgBox(ex.ToString)
    End Try
End Sub
//you will need to add this reference to your project as well
using System.Windows.Forms;  

public void OnConnection(object application,
 Extensibility.ext_ConnectMode connectMode, object addInInst,
 ref System.Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    // Pass the applicationObject member variable to the code example.
    SolutionExample((DTE2)_applicationObject);
}

public void SolutionExample(DTE2 dte)
{
    // This function creates a solution and adds a Visual C# Console
    // project to it.
    try{
        Solution2 soln = (Solution2)_applicationObject.Solution;
        String csTemplatePath;
        // The file path must exist on your computer.
        // Replace <file path> below with an actual path.
        String csPrjPath = <file path>;
    MessageBox.Show("Starting...");
csTemplatePath = 
soln.GetProjectTemplate("ConsoleApplication.zip", "CSharp");
        // Create a new C# Console project using the template obtained 
        // above.
        soln.AddFromTemplate(csTemplatePath, csPrjPath,
 "New CSharp Console Project", false);
        MessageBox.Show("Done!");
    }
    catch(SystemException ex)
    {
        MessageBox.Show("ERROR: " + ex);
    }
}

Voir aussi

Référence

EnvDTE80, espace de noms