2009-10-23 78 views
14

我正在編寫生成C#代碼的軟件。大多數情況下,我使用的是StringTemplate和StringBuilder。我可以從C#以編程方式使用T4嗎?

有沒有什麼辦法可以直接從我的代碼中使用T4模板?

+0

你是不是想從C# – 2009-10-23 11:40:09

+0

究竟自動化T4。我有WinForms應用程序,用戶在其中創建服務,然後應用程序需要生成c#(c,java ...)代碼。 – 2009-10-23 11:45:41

回答

12

Oleg Sych介紹瞭如何在此處執行此操作:Understanding T4: Preprocessed Text Templates。請注意,它看起來像您需要Visual Studio 2010來生成預處理的文本模板,但您可以將預處理的文本模板放置在任何地方 - 包括在您的WinForms應用程序中。

+0

第二個環節現在已經死了。 – Amy 2017-08-24 14:53:36

+0

指向archive.org上相應頁面的第二個鏈接。 HTH – 2017-08-24 16:28:11

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 2011-06-20 21:13:21

相關問題