2015-01-22 1 views
0

В моем проекте VS 2013, я добавил файл шаблона T4 с именем Foo.tt, вот его содержание:шаблон T4 игнорирует атрибут расширения

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

Каждый раз, когда я сохранить файл .tt, или щелкните правой кнопкой мыши на выбранный Run Custom Tool , выведенный файл равен Foo.cs, а не Foo.config, как я и ожидал.

Почему атрибут расширения .config не используется?

ответ

1

Я думаю, вы хотели создать «текстовый шаблон», но создали «шаблон текста времени выполнения». Последний всегда будет создавать код, который, конечно, .cs.

Есть два вида шаблонов T4:

  • «Text Template»: .tt -> файл.
  • "Runtime Text Template": .tt -> код (то есть .cs), который может использоваться во время выполнения, чтобы получить строку, созданную из текста шаблона.

И последний ignoresoutput extension.

+0

Я проверил значение «Пользовательский инструмент» файла .tt, и он настроен на «TextTemplatingFilePreprocessor», если это вообще помогает. –

+0

Должно быть «TextTemplatingFileGenerator». – Martin

+0

Прохладный. Я дам это, когда я вернусь в офис. –

 Смежные вопросы

  • Нет связанных вопросов^_^