2013-07-16 6 views
6

Je suis en train de faire des expériences avec la génération du code des projets de VS2012, mais je ne peux pas faire ce morceau de code t4 à ne peut pas être travaillert4 « VisualStudioHelper » not found

var project = VisualStudioHelper.CurrentProject; 

depuis VisualStudioHelper trouvé.

Que dois-je installer/inclure dans mon t4 pour rendre VisualStudioHelper disponible?

+0

Je l'ai trouvé @ https://github.com/PombeirP/T4Factories/blob/master/T4Factories.Testbed/CodeTemplates/VisualStudioAutomationHelper .ttinclude –

Répondre

1

Qu'est-ce que VisualStudioHelper? Cela semble être une chose personnalisée et pas quelque chose qui est intégré dans le moteur de modélisation T4. Si vous avez besoin d'accéder au projet en cours, vous pouvez essayer ceci:

var dte = (EnvDTE.DTE)((IServiceProvider)Host).GetService(typeof(EnvDTE.DTE)); 
var project = dte.Solution.FindProjectItem(Host.TemplateFile).ContainingProject; 

Ne pas oublier d'importer l'assemblage en haut de votre modèle T4:

<#@ assembly name="EnvDTE" #> 
+2

Oui, c'est un outil personnalisé et j'en ai trouvé une version @ https://github.com/PombeirP/T4Factories/blob/master/T4Factories.Testbed/CodeTemplates/VisualStudioAutomationHelper.ttinclude –

+0

utilisez <# @ template hostspecific = "true" #> –

1

Je sais VisualStudioHelper de tangible's T4 Editor. C'est gratuit et livré avec une galerie de modèles fournissant des modèles T4 utiles que vous pouvez inclure dans le vôtre, par exemple. pour accéder aux fonctionnalités de Visual Studio ou à la configuration du projet, etc.

Peut-être que vous devriez y jeter un coup d'œil.

Edit: Le modèle que vous devriez rechercher dans la galerie est nommée "tangible Visual Studio automatisation Helper"

8

VisualStudioHelper est une classe personnalisée de Tangible Editor T4.

Pour utiliser cette classe, installez Tangible Editor T4 pour votre Visual Studio puis:

  1. Ouvrir le menu Tangible T4 dans Visual Studio, puis cliquez sur Galerie de modèles.
  2. Cliquez sur l'icône "Mettre à jour maintenant" dans le coin inférieur gauche.
  3. Choisissez dans l'arborescence: Tangible> Visual Studio CodeModel.
  4. Dans le menu Fichier, cliquez avec le bouton droit de la souris sur "Marcher le modèle de code Visual Studio" et choisissez "Ajouter à la solution ..."
  5. Choisissez "VisualStudioHelper.ttinclude".
  6. Dans votre fichier .tt se réfèrent à VisualStudioHelper comme suit:

<#@ include file="VisualStudioHelper.ttinclude" #>