代码之家  ›  专栏  ›  技术社区  ›  JohnIdol

如何指定T4文件是否应生成任何输出

  •  3
  • JohnIdol  · 技术社区  · 15 年前

    我使用t4生成一些dto类+映射器。

    我将文件分成若干个可重复使用的位(其中一些位包含常用方法,另一些位包含常用过程),并将它们包含到将生成我的输出的T4模板中——这一切都很好。

    我的问题是,可重用的.tt文件将尝试生成它们自己的输出,每次我对它们进行更改时都会失败(因为它们与其他.tt文件耦合在一起),这很糟糕。

    我确信我在某个地方看到了一些指定给定文件的指令不应该尝试生成任何输出,但我似乎无法跟踪它。

    感谢您的帮助!

    4 回复  |  直到 12 年前
        1
  •  4
  •   Adam Ralph    15 年前

    在要禁止输出的T4文件的属性(选择文件并按F4)中,清除“自定义工具”条目。

        2
  •  7
  •   Stanislav Kniazev    15 年前

    可以指定无效的扩展名来禁止模板的输出,例如:

    <#@ output extension="\n" #>
    
        3
  •  4
  •   xx1xx    13 年前

    我没有足够的‘stackoverflow street cred’来回复斯坦尼斯拉夫·尼亚泽夫的答案,所以我必须在这里张贴我自己的答案。感谢斯坦尼斯拉夫·尼亚泽夫的领导。

    下面的方法有效;但是如果您使用的是t4语法荧光笔(比如有形的t4),那么您会发现它填充了突出显示的内容。

    <#@输出扩展名=“\n”>

    所以我发现将扩展名设置为一个非转义字符,如下所示:

    <#@输出扩展名

    然后在代码部分以编程方式设置文件扩展名,如下所示:

    host.setfileextension(“\n”);

    然后恢复t4突出显示。

        4
  •  1
  •   Sky Sanders    15 年前

    把它们重命名为.ttinclude,看看这对你有什么好处……

    推荐文章