我正在使用 T4 工具箱的 Linq to SQL 模型来生成代码,并且我想在它生成的代码中添加一些序列化属性。我不确定如何修改生成器来做到这一点。我会修改与工具箱一起安装的实际 .tt 文件吗?或者我可以在为我创建的 .tt 文件中添加一些内容吗?还是我必须做其他事情?
如果有的话,最好的方法是什么?
我正在使用 T4 工具箱的 Linq to SQL 模型来生成代码,并且我想在它生成的代码中添加一些序列化属性。我不确定如何修改生成器来做到这一点。我会修改与工具箱一起安装的实际 .tt 文件吗?或者我可以在为我创建的 .tt 文件中添加一些内容吗?还是我必须做其他事情?
如果有的话,最好的方法是什么?
是的,您可以修改 .tt 文件。这不是一个很好的体验,因为 Visual Studio 不做任何语法高亮;但是,Clarius 有一个可以安装的产品,它可以为模板添加语法高亮。
在 Scott Hanselman 的File/New/NerdDinner演讲中,他讨论了 T4 模板在 ASP.NET MVC 代码生成中的使用,并演示了如何修改它们。关于 T4 模板的讨论从演讲开始 23 分 40 秒开始。
您可能已经意识到,但您也可以创建自己的 .tt 文件。工具箱中预建的 .tt 没有什么特别之处。
换句话说,您可以复制/粘贴/修改您自己的版本,甚至只是将一个新的 .tt 文件添加到您的项目中。保存 .tt 文件后,它会自动尝试根据 tt 模板中指定的属性生成基本代码。