2009-10-23 14 views
14

私はC#コードを生成するソフトウェアを作成しています。ほとんど私はStringTemplateとStringBuilderを使用しています。T4をC#からプログラムで使用できますか?

T4テンプレートを自分のコードから直接使用する方法はありますか?

+0

あなたは正確にC# –

+0

からT4を自動化しようとしています。私は、ユーザーがサービスを作成し、アプリケーションがC#(c、java ...)コードを生成する必要があるWinFormsアプリケーションを持っています。 –

答えて

12

Oleg Sychはここでこれを行う方法を説明しています:Understanding T4: Preprocessed Text Templates。前処理されたテキストテンプレートを生成するためにはVisual Studio 2010が必要ですが、WinFormsアプリケーションを含め、必要に応じて前処理されたテキストテンプレートをホストすることができます。

+0

2番目のリンクは現在停止しています。 – Amy

+0

archive.orgの対応するページへの第2のリンクを指し示しています。 HTH –

5

これを行うための簡単な方法:

System.Diagnostics.Process proc = new System.Diagnostics.Process(); 

proc.EnableRaisingEvents = false; 

// Set text transform program (this could change according to the Windows version) 
proc.StartInfo.FileName = "C:\\Program Files (x86)\\Common Files\\microsoft shared\\TextTemplating\\10.0\\TextTransform.exe"; 

// Specify T4 template file 
proc.StartInfo.Arguments = "C:\template.tt"; 

proc.Start(); 
+9

C:\が存在すると仮定しないでください。特にTextTemplatingがインストールされていると仮定しないでください。 – SLaks

関連する問題