Partager via


SolutionFolder.DTE, propriété

Obtient l'objet d'extensibilité de niveau supérieur.

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

Syntaxe

'Déclaration
ReadOnly Property DTE As DTE
DTE DTE { get; }
property DTE^ DTE {
    DTE^ get ();
}
abstract DTE : DTE with get
function get DTE () : DTE

Valeur de propriété

Type : DTE
Objet DTE.

Notes

Dans Visual Studio, l'objet DTE est à la base du modèle Automation que les autres modèles objet appellent souvent "Application".

Exemples

Cet exemple crée un nouveau dossier de solution et y ajoute un projet à partir d'un fichier existant. Il utilise ensuite une boîte de message pour afficher la légende de la fenêtre principale, obtenue via l'objet DTE. Avant d'exécuter cet exemple, créez un dossier "Projects" sur votre lecteur principal ("C:" dans cet exemple) et créez dans ce dossier un projet Bibliothèque de classes Visual C#, nommé "ClassLibrary1". Vous devez également ouvrir 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)
    solnFolderDTEExample(_applicationObject)
End Sub
Sub solnFolderDTEExample(ByVal dte As DTE2)
    ' Before running this example, create a "Projects" folder
    ' off your main drive (C: in this example), and create a C# 
    ' class library project, named ClassLibrary1 in that folder.
    Dim soln As Solution2 = CType(_applicationObject.Solution _
    , Solution2)
    Dim prj As Project
    Dim SF As SolutionFolder
    Try
        Dim prjPath As String = _
        "C:\Projects\ClassLibrary1\ClassLibrary1\ClassLibrary1.csproj"
        ' Open a project in the Visual Studio IDE before 
        ' running this add-in.
        ' Add a solution folder.
        prj = soln.AddSolutionFolder("A new soln folder")
        SF = CType(prj.Object, SolutionFolder)
        ' Add a project to the new solution folder.
        SF.AddFromFile(prjPath)
        MsgBox("Added a new solution folder that contains a  _
        C# project named ClassLibrary1.")
        MsgBox("The main window caption, obtained through the  _
        DTE object is: " & SF.DTE.MainWindow.Caption)
    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;
    solnFolderDTEExample(_applicationObject);
}
public void solnFolderDTEExample(DTE2 dte)
{
    // Before running this example, create a "Projects" folder
    // off your main drive (C: in this example), and create a C# 
    // class library project, named ClassLibrary1 in that folder.
    Solution2 soln = (Solution2)_applicationObject.Solution;
    Project prj;
    SolutionFolder SF;
    try
    {
        String prjPath = 
"C:\\Projects\\ClassLibrary1\\ClassLibrary1\\ClassLibrary1.csproj";
        // Open a project in the Visual Studio IDE before running 
        // this add-in.
        // Add a solution folder.
        prj = soln.AddSolutionFolder("A new soln folder");
        SF = (SolutionFolder)prj.Object;
        // Add a project to the new solution folder.
        SF.AddFromFile(prjPath);
        MessageBox.Show("Added a new solution folder that contains a 
C# project named ClassLibrary1.");
        MessageBox.Show("The main window caption, obtained through 
the DTE object is: " + SF.DTE.MainWindow.Caption);
    
    catch(SystemException ex)
    {
        MessageBox.Show(ex.ToString());
    }
}

Sécurité .NET Framework

Voir aussi

Référence

SolutionFolder Interface

EnvDTE80, espace de noms