Выходное имя файла T4 - PullRequest
       32

Выходное имя файла T4

4 голосов
/ 10 августа 2011

Как я могу использовать имя сгенерированного файла в шаблоне? Я хотел бы что-то вроде этого:

// This file: <#= OutputFileName #> was autogenerated

Как я могу это сделать в T4 или в T4Toolbox?

Ответы [ 2 ]

6 голосов
/ 10 августа 2011

Это казалось чем-то таким простым, как чтение свойства, но после отражения над переменной Host и разборки кода генератора текста, я думаю, что самый простой способ сделать это:

<#@ template language="C#" hostspecific="true"  #>
<#@ import namespace="System.IO"                #>

// <#=Path.ChangeExtension (Host.TemplateFile, "cs")#>
3 голосов
/ 12 августа 2011

Лучше определить его как директиву

например для файла xaml

<#@ output extension="xaml" #>

или для текста

<#@ output extension=".txt" #>
...