2014-01-22 41 views
1

我有開始爲如何設置C#生成T4(運行時)在Visual Studio模板2012

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

,但生成的名稱不會在Solution Explorer雖然我甚至改變一個T4模板的文件擴展名已設置的輸出指令

<#@ output extension=".Generated.cs" #> 

模板的上市,它生成的文件在資源管理器是

solution explorer

我想生成的文件是

ExportForNcGeneration.Generated.cs 

,這樣我可以告訴ReSharper的忽略所有.Generated.cs文件

+0

你確定你的''文本模板使用T4(使用'TextTemplatingFileGenerator'作爲自定義工具),而不是'運行時文本模板'使用T4(使用'TextTemplatingFilePreprocessor'自定義工具)? – IronGeek

+0

對不起,它是運行時T4。我認爲在這種情況下無法自定義輸出文件的名稱:( – bradgonesurfing

回答

2

的簡單的方法:命名模板ExportForNcGeneration.Generated.tt

略更棘手:手動修改.csproj文件。

  1. 打開的.csproj文件作爲文本
  2. 搜索ExportForNcGeneration.cs。
  3. 您應該在包含名稱的.csproj中找到兩個xml節點。
  4. 將名稱更改爲ExportForNcGeneration.Generated.cs。
  5. 刷新該項目
  6. 重新生成的文件,它現在應該有正確的名稱

這種方法的問題是,如果你在VS改變.TT文件的名稱也將恢復名稱生成的。

+0

)您不能按照您的建議命名模板,因爲它會嘗試生成類名''ExportForNcGeneration.Generated.tt''並導致崩潰編譯器:) – bradgonesurfing

相關問題