Domanda

Si può elaborare modelli T4 da dentro un'applicazione .NET? È che il codice a disposizione per essere chiamato? incluso in un progetto? licenze?

update :. In modo che non guardare come si avrebbe dovuto utilizzare VS in qualche modo

È stato utile?

Soluzione

ho scritto un'implementazione in modo pulito reverse-engineering di un motore T4 per il MonoDevelop IDE. E 'open-source, rilasciato sotto licenza permissiva MIT / X11, così si è liberi di incorporare il motore nella vostra app o ridistribuirlo. C'è anche un'implementazione dello strumento da riga di comando TextTransform.exe, e alcune API nello spazio dei nomi Mono.TextTemplating agli aiuti di ospitare il motore.

L'unica caratteristica mancante vera in questo momento è processori direttiva personalizzati - ma le patch per questo sono i benvenuti: -)

È possibile ottenere il codice da MonoDevelop / principali / src / componenti aggiuntivi / TextTemplating in Mono SVN.

Altri suggerimenti

A quanto ho capito, T4 è una parte di Visual Studio e non può essere ridistribuito senza di essa. Come minimo, è necessario ridistribuire guscio VS con l'applicazione.

T4 è purtroppo legata a Visual Studio in questo momento. Credo Clarius stanno lavorando su una versione CodeGen dei loro strumenti che possono supportare l'automazione, ma non hanno messo a punto una caratteristica ancora impostata, in più è intenzione di essere un prodotto commerciale. (Per saperne di più: http://www.visualt4.com/features.html .) Fino a poi, si dovrà usare sia per le tecniche classiche CodeGen (scrivere in modo efficace il proprio T4), oppure scendere di Visual Studio Shell percorso + SDK che Oleg menziona (maggiori info: http://msdn.microsoft.com/en-us/vsx2008/products/bb933751.aspx ).

Se non è necessario utilizzare la sintassi T4, allora il prodotto CodeSmith può fare ciò che si richiede. Esso include un'API per la scrittura di modelli e la generazione di codice da loro. E 'un prodotto commerciale di tutto rispetto, ma non l'ho usato io. C'è una guida on line, e il riferimento API è qui: http://www.codesmithtools.com/help/Default.aspx##CodeSmith.chm/Using_the_CodeSmith_API.html .

Spero che questo aiuta. Buona fortuna!

Per i modelli di elaborazione T4 è necessario utilizzare Microsoft.VisualStudio.TextTemplating.dll, ma non credo che si possa ridistribuire questa assemblea

Saluti Muse VSExtensions

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top