共享T4模板的输出路径

8

我该如何指定 T4 模板的输出路径?

当我从$TemplatePath$将 T4 模板使用 "添加为链接" 的方式添加到我的项目中时,生成的输出文件在 $TemplatePath$ 而不是 $ProjectPath$。我该如何指定生成文件放置在 $ProjectPath$ 中?


3
我通过在一个位置拥有一个主模板,然后在每个项目中导入该模板(但几乎不做其他操作)来解决了这个问题。当然,这并不是最好的解决方案,所以我很想看看是否有人能够解决这个问题。 - Jeff Yates
@Jeff Yates - 请将此添加为答案! - Daniel A. White
Jeff - 我认为这实际上是一个非常好的解决方案。 - Peter T. LaComb Jr.
@Peter:谢谢。我以为我只是在懒惰地使用它来基于构建配置处理不同的web.config文件 - 这是我第一次使用T4。 - Jeff Yates
2个回答

7
我通过在一个位置拥有一个主模板,然后在每个项目中导入该模板(但几乎无其他操作)的方式解决了这个问题。当然,这并不是最好的解决方案。

作为所请求的答案发布。 - Jeff Yates
1
你有如何做到这一点的任何示例吗? - jimmystormig
2
@Jimmy 当创建一个存根 .tt 文件时,您可以使用以下指令将主文件包含进来: <#@ include file="..\SomeProject\OriginalTemplateFile.tt" #> - SandRock

1

我们通常使用Jeff Yates提到的相同系统,其中包括共享模板的最小(通常是单行)存根模板。

您还可以使用Oleg Sych的T4Toolbox将输出投影到任何目录。

但是,T4的自定义工具所构建的标准IVsSingleFileGenerator没有任何旋钮可用于控制其输出位置,并且在链接文件的情况下,它的行为就像您所描述的那样。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接