2013-07-16 11 views
6

che sto cercando di fare alcuni esperimenti con la generazione di codice da progetti VS2012 ma non posso fare questo pezzo di codice t4 a lavoraret4 "VisualStudioHelper" non trovato

var project = VisualStudioHelper.CurrentProject; 

dal VisualStudioHelper non può essere trovato.

Cosa devo installare/includere nel mio T4 per rendere VisualStudioHelper disponibile?

+0

trovato @ https://github.com/PombeirP/T4Factories/blob/master/T4Factories.Testbed/CodeTemplates/VisualStudioAutomationHelper .ttinclude –

risposta

1

Che cos'è VisualStudioHelper? Questa sembra essere una cosa su misura e non qualcosa che è incorporato nel motore di template T4. Se avete bisogno di accedere al progetto corrente si può provare questo:

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

Non dimenticare di importare il montaggio nella parte superiore del tuo template T4:

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

Sì, è uno strumento personalizzato e ho trovato una versione di esso @ https://github.com/PombeirP/T4Factories/blob/master/T4Factories.Testbed/CodeTemplates/VisualStudioAutomationHelper.ttinclude –

+0

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

1

so VisualStudioHelper da tangible's T4 Editor. È gratuito e viene fornito con una galleria di modelli che fornisce modelli T4 utili che puoi includere nel tuo esempio, ad es. per accedere alla funzionalità di Visual Studio o alla configurazione del progetto, ecc.

Forse dovresti dare un'occhiata lì.

Edit: Il modello si dovrebbe essere alla ricerca di galleria è denominato "tangibile Visual Studio Automation Helper"

8

VisualStudioHelper è una classe personalizzata da Editor T4 tangibile.

Per poter utilizzare questa classe, installare Editor tangibile T4 per il Visual Studio e quindi:

  1. Aprire il menu T4 tangibile in Visual Studio e quindi fare clic su galleria di modelli.
  2. Fare clic sull'icona "Aggiorna ora" dall'angolo in basso a sinistra.
  3. Scegliere dall'albero delle directory: Tangibile> CodeModel di Visual Studio.
  4. Nel menu file, fare clic con il pulsante destro del mouse su "Cammina il modello di codice di Visual Studio" e scegliere "Aggiungi a soluzione ..."
  5. Scegliere "VisualStudioHelper.ttinclude".
  6. Nel file .tt riferiscono a VisualStudioHelper come segue:

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