我正在尝试(但失败)编写一个简单的模板文件:
<#@ 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 中单击模板时,属性窗口中有“类名”属性。这就是我想要的!当我在其中输入文本并构建时,出现以下错误:
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 的属性窗口中设置的字符串命名的类。可悲的是,我在很早的一步就失败了!!