Share via


Solution3, 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). Remplace Solution et Solution2.

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

Syntaxe

'Déclaration
<GuidAttribute("DF23915F-FDA3-4DD5-9CAA-2E1372C2BB16")> _
Public Interface Solution3 _
    Inherits Solution2
[GuidAttribute("DF23915F-FDA3-4DD5-9CAA-2E1372C2BB16")]
public interface Solution3 : Solution2
[GuidAttribute(L"DF23915F-FDA3-4DD5-9CAA-2E1372C2BB16")]
public interface class Solution3 : Solution2
[<GuidAttribute("DF23915F-FDA3-4DD5-9CAA-2E1372C2BB16")>]
type Solution3 =  
    interface 
        interface Solution2 
    end
public interface Solution3 extends Solution2

Le type Solution3 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. Obtient le nom de fichier.
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. Détermine si la solution a été modifiée (changée mais pas enregistrée).
Propriété publique IsOpen Obtient l'information indiquant 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 GetProjectItemTemplates Retourne une collection de modèles d'élément de projet pour le projet spécifié.
Méthode publique GetProjectTemplate Retourne un chemin au modèle de projet spécifié.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

L'objet Solution3 est une collection de tous les projets de l'instance actuelle de l'IDE et de toutes les propriétés de la solution, telles que les configurations de build. L'objet Solution3 contient un élément pour chaque projet, qu'il s'agisse d'un projet encapsulé, d'un sous-projet ou d'un projet de niveau supérieur.

Référencez cet objet à l'aide de DTE.Solution. Pour référencer des projets virtuels, tels que MiscFiles ou SolutionItems, utilisez Solution3.Item(EnvDTE.Constants.vsProjectKindMisc) ou Solution3.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.

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

Sub Solution3Example(ByVal dte As DTE2)
    ' This function creates a solution and adds a Visual C# Console
    ' project to it.
    Try
        Dim soln As Solution3 = CType(DTE.Solution, Solution3)
        Dim csTemplatePath As String
        ' This path must exist on your computer.
        ' Replace <file path> below with an actual path.
        Dim csPrjPath As String = "<file path>"
        MsgBox("starting")
        ' Get the project template path for a C# console project.
        csTemplatePath = CType(soln.GetProjectTemplate _
        ("ConsoleApplication.zip", "CSharp"), string)
        ' Create a new C# Console project using the template obtained 
        ' above.
        soln.AddFromTemplate(csTemplatePath, csPrjPath, _
        "New CSharp Console Project", False)
        MsgBox("done")
    Catch ex As System.Exception
        MsgBox(ex.ToString)
    End Try
End Sub
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.
    Solution3Example((DTE2)_applicationObject);
}

public void Solution3Example(DTE2 dte)
{
    // This function creates a solution and adds a Visual C# Console
    // project to it.
    try{
        Solution3 soln = (Solution3)_applicationObject.Solution;
        String csTemplatePath;
        // The file path must exist on your computer.
        // Replace <file path> below with an actual path.
        String csPrjPath = "<file path>";
        "<file path>MessageBox.Show("Starting...");
        "<file path>"<file path>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

EnvDTE90, espace de noms