Solution3.GetProjectItemTemplates, méthode
Retourne une collection de modèles d'élément de projet pour le projet spécifié.
Espace de noms : EnvDTE90
Assembly : EnvDTE90 (dans EnvDTE90.dll)
Syntaxe
'Déclaration
Function GetProjectItemTemplates ( _
Language As String, _
CustomDataSignature As String _
) As Templates
Templates GetProjectItemTemplates(
string Language,
string CustomDataSignature
)
Templates^ GetProjectItemTemplates(
String^ Language,
String^ CustomDataSignature
)
abstract GetProjectItemTemplates :
Language:string *
CustomDataSignature:string -> Templates
function GetProjectItemTemplates(
Language : String,
CustomDataSignature : String
) : Templates
Paramètres
Language
Type : StringLe langage utilisé pour écrire le modèle d'élément de projet.
CustomDataSignature
Type : StringLa signature des métadonnées associées au modèle d'élément de projet.
Valeur de retour
Type : EnvDTE90.Templates
Collection de modèles contenant le nom de tous les modèles 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 différentes manières, comme suit :
Passez le GUID d'un projet virtuel Smart Device Visual Basic comme paramètre Language et le nom du fichier zip comme TemplateName.
GetProjectItemTemplate("NETCFv2-Class.zip", "{3114F5B0-E435-4bc5-A03D-168E20D9BF83}");
Passez le GUID d'un projet virtuel Smart Device Visual Basic comme paramètre Language et la chaîne « Class » comme 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 9\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.
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 C# Console
' project to it.
Try
Dim soln As Solution3 = CType(DTE.Solution, Solution3)
Dim csTemplatePath As String
' This path must exist on your computer.
' Replace <file path> below with an actual path.
Dim csPrjPath As String = "<file path>"
MsgBox("starting")
' Get the project template path for a C# console project.
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)
MsgBox("done")
Catch ex As System.Exception
MsgBox(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.
SolutionExample((DTE2)_applicationObject);
}
public void SolutionExample(DTE2 dte)
{
// This function creates a solution and adds a Visual C# Console
// project to it.
try{
Solution3 soln = (Solution3)_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
- Confiance totale accordée à l'appelant immédiat. Ce membre ne peut pas être utilisé par du code d'un niveau de confiance partiel. Pour plus d'informations, voir Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel.
Voir aussi
Référence
Autres ressources
Comment : compiler et exécuter les exemples de code du modèle objet Automation