Share via


Comment : créer par programme des projets

Les compléments Visual Studio sont déconseillés dans Visual Studio 2013. Vous devriez mettre vos compléments à niveau vers des extensions VSPackage. Pour plus d'informations sur les mises à jour, consultez FAQ : conversion de compléments en extensions VSPackage.

Pour créer un projet, appelez GetProjectTemplate, puis passez les chemins d'accès des modèles retournés à AddFromTemplate.

Les modèles de projet portent l'extension de nom de fichier .vstemplate et sont stockés dans des fichiers .zip. Pour obtenir le chemin d'accès du fichier .vstemplate (dans le fichier .zip), utilisez GetProjectTemplate et passez-le ensuite à AddFromTemplate pour créer le projet (ainsi qu'une solution, si aucune n'est ouverte). Vous pouvez effectuer cette opération autant de fois que nécessaire et chaque projet sera ajouté à la solution ouverte.

Les modèles de projet destinés à tous les langages sont accessibles dans \Program Files\Microsoft Visual Studio 10.0\Common7\IDE\ProjectTemplates\Language\.

Vous pouvez également créer vos propres modèles 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 le chemin d'accès de vos modèles dans la zone Emplacement des modèles de projet pour l'utilisateur de Visual Studio.

Les modèles personnalisés de projet requièrent des noms de fichiers uniques qui n'entrent pas en conflit avec les noms de fichiers définis dans : Program Files\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\Language\.

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.

Notes

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, cliquez dans le menu Outils sur Importation et exportationde paramètres.Pour plus d'informations, consultez Paramètres Visual Studio.

Création d'un projet

Pour créer un projet par programmation

  1. Démarrez Visual Studio et créez un projet de complément Visual Studio.

  2. Ajoutez l'exemple de code spécifié ultérieurement dans cette rubrique à la classe Connect du complément.

  3. Exécutez le projet de complément et activez-le dans le Gestionnaire de compléments.

    Pour ce faire, dans le menu Outils, cliquez sur Gestionnaire de compléments, puis sélectionnez le complément souhaité.

Exemple

L'exemple suivant utilise GetProjectTemplate et AddFromTemplate pour créer deux projets console dans une solution : un projet Visual Basic et un projet Visual C#.

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

Sub createProjectsFromTemplates(ByVal dte As DTE2)
    Try
        ' Create a solution with two projects in it, based on project 
        ' templates.
        Dim soln As Solution2 = CType(DTE.Solution, _
        Solution2)
        Dim csTemplatePath As String
        Dim vbTemplatePath As String
        Dim csPrjPath As String = _
        "C:\UserFiles\user1\addins\MyCSProject"
        Dim vbPrjPath As String = _
        "C:\UserFiles\user1\addins\MyVBProject"

        ' Get the project template path for a C# console project.
        ' Console Application is the template name that appears in the 
        ' right pane, "CSharp" is the Language(vstemplate) as seen in 
        ' the registry.
        csTemplatePath = soln.GetProjectTemplate _
        ("ConsoleApplication.zip", "CSharp")
        MsgBox("C# template path: " & csTemplatePath)
        ' Get the project template path for a Visual Basic
        ' console project.
        ' "vbproj: is the DefaultProjectExtension as seen in the 
        ' registry.
        vbTemplatePath = soln.GetProjectTemplate _
        ("ConsoleApplication.zip", "vbproj")
        MsgBox("Visual Basic template path: " & vbTemplatePath)
        ' Create a new C# console project using the template obtained 
        ' above.
        soln.AddFromTemplate(csTemplatePath, csPrjPath, _
          "New CSharp Console Project", False)
        ' Create a new Visual Basic console project using the template
        ' obtained above.
        soln.AddFromTemplate(vbTemplatePath, vbPrjPath, _
          "New Visual Basic Console Project", False)
    Catch ex As System.Exception
        MsgBox("ERROR: " & ex.ToString)
    End Try
End Sub
public void OnConnection(object application, ext_ConnectMode 
  connectMode, object addInInst, ref Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    createProjectsFromTemplates(_applicationObject);
}

public void createProjectsFromTemplates(DTE2 dte)
{
    try
    {
        // Create a solution with two projects in it, based on project 
        // templates.
        Solution2 soln = (Solution2)dte.Solution;
        string csTemplatePath;
        string vbTemplatePath;
        string csPrjPath = "C:\\UserFiles\\user1\\addins\\MyCSProject";
        string vbPrjPath = "C:\\UserFiles\\user1\\addins\\MyVBProject";
        // Get the project template path for a C# console project.
        // Console Application is the template name that appears in 
        // the right pane. "CSharp" is the Language(vstemplate) as seen 
        // in the registry.
        csTemplatePath = soln.GetProjectTemplate("ConsoleApplication.zip", 
          "CSharp");
        System.Windows.Forms.MessageBox.Show("C# template path: " + 
          csTemplatePath);
        // Get the project template path for a Visual Basic console
        // project.
        // "vbproj: is the DefaultProjectExtension as seen in the 
        // registry.
        vbTemplatePath = soln.GetProjectTemplate("ConsoleApplication.zip", 
          "vbproj");
        System.Windows.Forms.MessageBox.Show("Visual Basic template path: " + 
          vbTemplatePath);
        // Create a new C# console project using the template obtained 
        // above.
        soln.AddFromTemplate(csTemplatePath, csPrjPath, "New CSharp 
          Console Project", false);
        // Create a new Visual Basic console project using the template 
        // obtained above.
        soln.AddFromTemplate(vbTemplatePath, vbPrjPath, "New VB Console 
          Project", false);
    }
    catch (System.Exception ex)
    {
        System.Windows.Forms.MessageBox.Show("ERROR: " + ex.Message);
    }
}

Voir aussi

Tâches

Comment : compiler et exécuter les exemples de code du modèle objet Automation

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

Concepts

Manipulation des projets Visual Basic et Visual C#

Manipulation des projets Visual C++

Autres ressources

Contrôle de la solution et de ses projets