Share via


Solution2.GetProjectItemTemplate, méthode

Retourne un chemin au modèle d'élément de projet indiqué.

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

Syntaxe

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

Paramètres

  • TemplateName
    Type : String

    Nom du modèle.

  • Language
    Type : String

    Langage utilisé pour écrire le modèle.

Valeur de retour

Type : String
Nom complet du modèle d'élément 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 GetProjectItemTemplate peuvent être fournis de plusieurs manières différentes, comme suit :

  • Passez le GUID d'un projet virtuel Smart Device Visual Basic comme le paramètre Language, et le nom du fichier zip comme le TemplateName.

    GetProjectItemTemplate("NETCFv2-Class.zip", "{3114F5B0-E435-4bc5-A03D-168E20D9BF83}");
    
  • Passez le GUID d'un projet virtuel Smart Device Visual Basic comme le paramètre Language, et la chaîne "Class" comme le TemplateName. La chaîne "Class" est dérivée de la hiérarchie de dossiers et est connue en tant que chaîne d'interface utilisateur. "HTML Page" (page HTML) et "Splash Screen" (écran de démarrage) sont d'autres chaînes d'interface utilisateur. Les chaînes d'interface utilisateur sont dépendantes de paramètres régionaux. L'utilisation du nom du fichier zip est le moyen le plus sûr de passer le paramètre TemplateName.

    GetProjectItemTemplate("Class", "{3114F5B0-E435-4bc5-A03D-168E20D9BF83}");
    
  • Passez la chaîne "VisualBasic" comme le paramètre Language, et le nom du fichier zip pour le paramètre TemplateName. Cela fonctionne, car NETCFv2-Class.zip est spécifique aux appareils de type Smart Device.

    GetProjectItemTemplate("NETCFv2-Class.zip", "VisualBasic/SmartDevice-NETCFv2");
    

Vous pouvez également créer des modèles personnalisés pour les éléments de projet. 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 chemins d'accès à vos modèles dans les zones Emplacement des modèles d'élément pour l'utilisateur de Visual Studio. Vous pouvez également accepter l'emplacement 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\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.

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 ajoute une page HTML à une solution.

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

Sub SaveAsExample(ByVal dte As DTE2)
    ' This add-in adds an HTML page to a solution.
    ' Open a Visual Basic solution in Visual Studio
    ' before running this example.

    Dim soln As Solution2 = _
    CType(_applicationObject.Solution, Solution2)
    Dim prj As Project
    Dim prjItem As ProjectItem
    Dim itemPath As String

    Try
        prj = soln.Projects.Item(1)
        itemPath = soln.GetProjectItemTemplate("HTMLPage.zip", _
        "VisualBasic")
        ' Create a new project item based on the template. 
        ' (In this case, an HTML page.)
        prjItem =  _
        prj.ProjectItems.AddFromTemplate(itemPath, "MyNewHtml")

    Catch ex As SystemException
        MsgBox("ERROR: " & 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.
    SolnGetProjetItemExample((DTE2)_applicationObject);
}
public void SolnGetProjetItemExample(DTE2 dte)
{
    // This add-in adds an item to a Visual Basic solution.
    // Open a Visual Basic solution in Visual Studio 
    // before running this example.
 
    Solution2 soln = (Solution2)_applicationObject.Solution;
    Project prj;
    ProjectItem prjItem;
    string itemPath;
    try
    {

        prj = soln.Projects.Item(1);
        itemPath = 
soln.GetProjectItemTemplate("HTMLPage.zip", "VisualBasic");
        // Create a new project item based on the template. 
        // (In this case, an HTML page.)
        prjItem = 
prj.ProjectItems.AddFromTemplate(itemPath, "MyNewHtml");

    }
    catch (SystemException ex)
    {
        MessageBox.Show("ERROR: " + ex);
    }
}

Sécurité .NET Framework

Voir aussi

Référence

Solution2 Interface

EnvDTE80, espace de noms