2010-11-08 4 views
0

Contexte: Je construis un complément en utilisant Visual Studio 2010. L'une des actions consiste à s'assurer qu'une interface existe sur un projet connexe. Si l'interface n'existe pas, elle doit être créée.Comment définir un projet actif en utilisant Visual Studio Automation?

Vérification de l'existence de l'interface, ce n'est pas le problème. Créer l'interface est. Je voudrais créer l'interface en utilisant AddNewItem(), mais cela ne fonctionnera correctement que sur le projet actif actuel.

Code

:

ProjectItem item = VsProject.ProjectItems.Cast<ProjectItem>().FirstOrDefault(p => p.Name == interfaceName); 
if (item == null) 
{ 
    item = VsProject.ProjectItems.DTE.ItemOperations.AddNewItem(@"Visual C# Items\Code\Interface", interfaceName+".cs"); 
} 

Quelqu'un at-il une idée? P.S. Pour être clair: le complément est appelé à partir d'un projet différent dans la même solution.

Répondre

1

Je pense que vous voudrez utiliser Project.ProjectItems.AddFromTemplate() à la place. Aucun problème pour obtenir la bonne référence de projet.

+0

Merci beaucoup, fonctionne comme charme –

Questions connexes