2014-12-03 64 views
0

我有一個運行時T4模板,使用它我生成一個.cs文件。我需要在我的代碼中訪問這個生成的文件。我沒有看到生成的類文件,所以我可以使用它,但如果我做一個「顯示所有文件」,然後將其包含在我的解決方案,並建立我然後能夠訪問生成的文件。在生成中包含T4生成的c#類

如何使用此生成的c#文件,而無需手動進行任何更改。

它應該像我使用的代碼

RuntimeTextTemplate runTimeGen = new RuntimeTextTemplate(); 
File.WriteAllText("RuntimeGenerator3.cs", runTimeGen.TransformText()); 

的最後一條語句我應該能夠訪問生成的類後,對不對? 是模板文件。我正在使用控制檯應用程序。

運行時模板的名稱是RuntimeGenerator.tt

<#@ template language="C#" #> 
<#@ assembly name="System.Core" #> 
<#@ import namespace="System.Linq" #> 
<#@ import namespace="System.Text" #> 
<#@ import namespace="System.Collections.Generic" #> 

namespace Controls 
{ 
    public class DropDownControlUtility 
    { 
     public static string ForeColor 
     { 
      get 
      { 
       return "Blue"; 
      } 
     } 
    } 
} 

類與主方法包括下面

class Program 
    { 
     static void Main(string[] args) 
     { 
      RuntimeGenerator gen = new RuntimeGenerator(); 
      File.WriteAllText("DropDownUtility.cs", gen.TransformText()); 
     } 
    } 
+0

你可以顯示你的模板,你如何生成文件? – 2014-12-03 07:11:15

回答

4

碼有2個不同的模板Run-time text templateDesign-time text template和。使用設計時模板生成的文件將自動包含在項目中。運行時文本模板用於在啓動程序時在運行時生成文件,而設計時文本模板允許您在Visual Studio項目中生成程序代碼和其他文件。

因此,您只需要創建新的設計時模板(TextTemplate)並將代碼放入其中即可。 生成文件:在解決方案資源管理器的任意文件的快捷菜單上,選擇運行自定義工具或在生成菜單中單擊轉換所有模板。你也可以設置你的項目來生成文件automaically