Partager via


Comment : créer une application Windows à l'aide de l'extensibilité

Pour créer un projet et l'ajouter à la solution en cours, il faut utiliser la méthode AddFromTemplate de l'objet d'extensibilité générale DTE.Solution.Cette tâche suppose une connaissance des procédures d'accès à l'environnement de développement intégré Macros et de création d'un projet macro.Pour plus d'informations, consultez Automating Repetitive Actions by Using Macros.

Les étapes suivantes créent un projet Visual Basic.Pour créer un projet Visual C#, utilisez la chaîne "CSharp" dans l'étape 4.

[!REMARQUE]

Les boîtes de dialogue et les commandes de menu qui s'affichent peuvent être différentes de celles qui sont décrites dans l'aide, en fonction de vos paramètres actifs ou de l'édition utilisée.Ces procédures ont été développées avec les paramètres de développement généraux actifs.Pour modifier vos paramètres, choisissez Importation et exportation de paramètres dans le menu Outils.Pour plus d'informations, consultez Paramètres Visual Studio.

Pour ajouter un nouveau projet à la solution

  1. Créez un module de macro et nommez-le NewProject.

  2. Ajoutez une nouvelle macro, NewWindowsProject, au module.

    Sub NewWindowsProject()
       ' Add code here to create new project.
    End Sub
    

    Cette macro ajoute une nouvelle application Windows Visual Basic.

  3. Sélectionnez le modèle requis pour un projet de console.Il est possible de créer différents types de projet, comme l'illustre le tableau ci-dessous.Pour une application Windows, utilisez le modèle WindowsApplication.zip.

    Nom du modèle

    Type de projet

    ClassLibrary.zip

    Bibliothèque de classes

    ConsoleApplication.zip

    Application console

    EmptyProject.zip

    Projet vide

    WebApplication.zip

    Application Web

    WebControl.zip

    Contrôle Web

    WebService.zip

    Service Web de

    WindowsApplication.zip

    Application Windows

    WindowsControl.zip

    Contrôle Windows

    WindowsService.zip

    Service Windows

    La syntaxe d'utilisation d'un modèle est la suivante GetProjectTemplate("WindowsApplication.zip", "VisualBasic").Vous pouvez également accéder à des modèles spécifiques aux applications, par exemple : GetProjectTemplate("PocketPC2003-ClassLibrary.zip", "CSharp") retourne le modèle destiné à une bibliothèque de classes Visual C# pour un projet Pocket PC 2003.Les modèles de projet destinés à tous les langages sont accessibles dans lecteur>:\Program Files\Microsoft Visual Studio 10\Common7\IDE\ProjectTemplates\Language.

    Vous pouvez également créer vos propres modèles de projets et modèles d'éléments de projet personnalisés.Pour spécifier le répertoire dans lequel vous stockerez vos modèles, cliquez sur Options dans le menu Outils.Dans le volet gauche de la boîte de dialogue Options, cliquez sur Projets et solutions.Tapez les chemins d'accès pour vos modèles dans les zonesEmplacement des modèles de projet pour l'utilisateur de Visual Studio et Emplacement des modèles d'élément pour l'utilisateur de Visual Studio.Vous pouvez également accepter les emplacements par défaut.

    Les modèles personnalisés requièrent des noms de fichiers uniques qui n'entrent pas en conflit avec les noms de fichiers définis dans :

    • <Lecteur>:\Program Files\Microsoft Visual Studio 10\Common7\IDE\ProjectTemplates\Langue

    et

    • <Lecteur>:\Program Files\Microsoft Visual Studio 10\Common7\IDE\ItemTemplates\Langue.

    Assurez-vous que vous utilisez des noms de fichiers longs (par opposition au modèle 8.3).Pour plus d'informations, consultez Creating Project and Item Templates.

  4. Utilisez la méthode GetProjectTemplate pour localiser le modèle de projet.Le chemin d'accès du modèle dépend du langage ; donc, pour récupérer le modèle Visual Basic, utilisez la chaîne "Visual Basic", comme indiqué ci-dessous.Pour un modèle Visual C#, utilisez la chaîne "CSharp".

            Dim vbTemplatePath As String
            Dim vbProjectPath As String
            vbProjectPath = "C:\UserFiles\MyFiles\MyProject"
            vbTemplatePath = soln.GetProjectTemplate( _
              "WindowsApplication.zip", "VisualBasic")
    
  5. Appelez la méthode AddFromTemplate.

            ' Create a new solution.
            ' Make sure the filepath below exists
            ' on your computer.
            soln.Create("C:\UserFiles\MyFiles\MyProject", "MySolution")
            ' Create a new VB console project using the template
            ' obtained above.
            soln.AddFromTemplate(vbTemplatePath, vbProjectPath, _
            "VB Console Project", False)
    

    La macro complète est affichée ci-dessous :

    Sub NewWindowsProject ()
            'This function creates a solution and adds a Visual Basic Console
            'project to it. 
            Dim soln As Solution2 = CType(DTE.Solution, Solution2)
            'Dim proj As Project
            Dim msg As String
            Dim vbTemplatePath As String
            Dim vbProjectPath As String
            vbProjectPath = "C:\UserFiles\MyFiles\MyProject"
            vbTemplatePath = soln.GetProjectTemplate _
           ("WindowsApplication.zip", "VisualBasic")
    
            ' Create a new solution.
            ' Make sure the filepath below exists
            ' on your computer.
            soln.Create("C:\UserFiles\MyFiles\MyProject", "MySolution")
            ' Create a new VB console project using the template
            ' obtained above.
            soln.AddFromTemplate(vbTemplatePath, vbProjectPath, _
            "VB Windows Project", False)
            msg = "Created new solution: " & soln.FullName & vbCrLf
            msg = msg & "Created new project: " & soln.Projects.Kind()
            MsgBox(msg)
        End Sub
    
  6. Enregistrez la macro, fermez l'éditeur de macros, puis exécutez la macro dans l'Explorateur de macros.

  7. Examinez la nouvelle solution, « MySolution », et l'application Windows, « VB Windows Project », dans l'Explorateur de solutions.

Voir aussi

Tâches

Comment : créer par programme des projets

Comment : créer des éléments de projet par programme

Autres ressources

Contrôle de la solution et de ses projets

Migrating Code that Creates Projects by Using Templates

Creating Project and Item Templates