Partager via


Solution2.GetProjectTemplate, méthode

Retourne un chemin au modèle de projet indiqué.

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

Syntaxe

'Déclaration
Function GetProjectTemplate ( _
    TemplateName As String, _
    Language As String _
) As String
string GetProjectTemplate(
    string TemplateName,
    string Language
)
String^ GetProjectTemplate(
    String^ TemplateName, 
    String^ Language
)
abstract GetProjectTemplate : 
        TemplateName:string * 
        Language:string -> string 
function GetProjectTemplate(
    TemplateName : String, 
    Language : String
) : String

Paramètres

  • Language
    Type : System.String
    Langage utilisé pour écrire le modèle.

Valeur de retour

Type : System.String
Nom complet du modèle de projet.

Notes

Les modèles de projet sont stockés sous forme de fichiers zip.Cette méthode demande le nom et le langage du projet et retourne le chemin d'accès au modèle.

Les paramètres de GetProjectTemplate peuvent être fournis de plusieurs manières différentes, comme suit :

  • Passez "CSharp" comme le paramètre Language, et le nom du fichier zip comme le TemplateName.

    GetProjectTemplate("PocketPC2003-ClassLibrary.zip", "CSharp");
    
  • Passez "CSharp" comme le paramètre Language, et un chemin d'accès partiel, "PocketPC2003\ClassLibrary.vstemplate", pour spécifier de manière unique le TemplateName.

    GetProjectTemplate("PocketPC2003\ClassLibrary.vstemplate", "CSharp");//partial file path
    
  • Passez la chaîne "CSharp" comme le paramètre Language, et la chaîne "Pocket PC 2003 Class Library" pour le paramètre TemplateName.La chaîne "Pocket PC 2003 Class Library" est dérivée de la hiérarchie de dossiers et est connue en tant que chaîne d'interface utilisateur."Application Console" et "Application Windows" sont d'autres exemples de chaînes d'interface.

    [!REMARQUE]

    Ces chaînes varient en fonction des paramètres régionaux.L'utilisation du nom du fichier zip est le moyen le plus sûr de passer le paramètre TemplateName.

    GetProjectTemplate("Pocket PC 2003 Class Library", "CSharp");
    
  • Passez la chaîne "CSharp" comme le paramètre Language, et la chaîne "PocketPC2003\Pocket PC 2003 Class Library" pour le paramètre TemplateName.Cela inclut la chaîne et un chemin partiel pour spécifier le modèle de manière unique.

    GetProjectTemplate("PocketPC2003\Pocket PC 2003 Class Library", "CSharp");
    

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 à vos modèles dans la zone Emplacement des modèles de projet 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 8\Common7\IDE\ProjectTemplates\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.

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.

L'exemple suivant montre comment créer une solution et ajouter à celle-ci un projet d'application console.

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 project.
        vbTemplatePath = soln.GetProjectTemplate _
        ("ConsoleApplication.zip", "VisualBasic")
        ' Create a new Visual Basic 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
//make sure to add this reference to your project references
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>";
    "<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);
    }
}

Sécurité .NET Framework

Voir aussi

Référence

Solution2 Interface

EnvDTE80, espace de noms