Я пытаюсь (и не могу) написать простой файл шаблона:
<#@ template language="C#" hostspecific="True" debug="True" #>
<#@ output extension="cs" #>
<#@ include file="T4Toolbox.tt" #>
<#@ property name="ClassName" processor="PropertyProcessor" type="System.String" #>
public class <#= ClassName #>
{
}
Когда я нажимаю на шаблон в Visual Studio, в окне свойств появляется свойство «ClassName». Это то, что я хочу! Когда я ввожу текст и строю, я получаю следующую ошибку:
Error 1 Running transformation: System.ArgumentNullException: Value cannot be null.
Parameter name: objectToConvert
at Microsoft.VisualStudio.TextTemplating.ToStringHelper.ToStringWithCulture(Object objectToConvert)
at Microsoft.VisualStudio.TextTemplating32ED7F6BD49D2C3984C2CB7194792D4B.GeneratedTextTransformation.TransformText() in c:\Users\neilt.PAV12\Documents\Visual Studio 2008\Projects\ConsoleApplication2\ConsoleApplication2\ClassMaker.tt:line 6 C:\Users\neilt.PAV12\Documents\Visual Studio 2008\Projects\ConsoleApplication2\ConsoleApplication2\ClassMaker.tt 1 1
Надеюсь, вы можете увидеть, что я хочу сделать: я бы хотел, чтобы мой шаблон выплевывал файл .cs с именем класса со строкой, которую я установил в окне свойств Visual Studio. К сожалению, я терплю неудачу на очень раннем этапе !!