Modèles de projets génériques et spécifiques au langage
Visual Studio fournit deux types de modèles de projet : un modèle générique et des modèles spécifiques aux langages de programmation.
Modèle de projet générique
Le modèle de projet générique est représenté par les types suivants :
Nom de l'objet |
Description |
---|---|
Collection Projects |
Représente tous les projets de la solution. |
Objet Project |
Représente un projet de la solution. |
Collection ProjectItems |
Représente tous les éléments d'un projet spécifié. |
Objet ProjectItem |
Représente un élément d'un projet spécifié. |
Ces objets vous permettent de manipuler des projets de n'importe quel type de langage dans Visual Studio. À l'aide de ces objets, vous pouvez :
enregistrer ou supprimer un projet ;
créer un élément de projet pour un projet, en fonction des modèles Visual Studio ;
ajouter des éléments de projet à un projet à partir de fichiers existants ;
supprimer des éléments de projet d'un projet ;
ouvrir, enregistrer et supprimer des éléments de projet d'un projet.
Modèle de projet spécifique au langage
En plus des objets de projet génériques, un jeu d'espaces de noms représente le projet spécifique au langage de programmation utilisé ainsi que des propriétés d'élément de projet. Ces espaces de noms sont les suivants :
Les objets principaux qui représentent des projets de langage sont VSProject et VSProject2. VSProject2 dérive de VSProject, qui dérive de Project. Les éléments de projet sont représentés par des objets VSProjectItem.
Langage de programmation |
Espaces de noms |
---|---|
Visual C# |
|
Visual Basic |
|
Visual C++ |
Microsoft.VisualStudio.VCProject et Microsoft.VisualStudio.VCProjectEngine. |
Tous les langages de programmation |
Sachant que les objets spécifiques au langage dérivent des objets génériques, ils fonctionnent essentiellement de la même manière que ces derniers. Toutefois, ils vous donnent accès à toute propriété, toute méthode et tout événement supplémentaires inaccessibles par le biais des objets génériques Project et ProjectItem.
Pour plus d'informations sur l'utilisation du modèle de projet spécifique à un langage, consultez Introduction à l'extensibilité de projet.
Modification apportée aux projets Visual Studio.NET 2003 Visual C++
Dans Visual Studio .NET 2003 et versions ultérieures, la gestion spéciale de la collection ProjectItems pour Visual C++ n'est plus nécessaire. En d'autres termes, alors que la collection Visual C++ Projects stockait tous les fichiers projet de Visual C++ dans une liste simple, ces fichiers sont désormais stockés hiérarchiquement, comme dans les autres langages de programmation.
Dans la mesure où cette modification risque d'affecter votre code existant, il existe un moyen d'émuler l'ancien comportement dans le nouveau modèle objet spécifique au projet lorsque vous essayez d'indexer la collection ProjectItems pour déterminer si un fichier se trouve ou non dans le projet. La principale différence est que vous pouvez désormais revenir au modèle objet DTE en appelant .Object sur un objet Visual C++.
[Visual Basic]
Dim proj as VCProject = DTE.ActiveSolutionProjects(1).Object
Dim fileColl as IVCCollection = proj.Files
Dim file as VCFile = fileColl.Item("MyFile.cpp")
Dim projItem as ProjectItem = file.Object
Voir aussi
Tâches
Comment : créer par programme des projets
Comment : créer des éléments de projet par programme