Nuget包中的T4运行时文本模板

时间:2018-03-15 14:52:14

标签: nuget t4

我有一个带有运行时文本模板的项目,我希望能够调用

mytemplate.TransformCode();

来自不同的项目。我只需要访问它生成的mytemplate.cs文件,而不想在第二个项目中编辑模板。

我已将.tt文件包含在第一个项目的nuget包中,并在第二个项目中安装了nuget包。

问题是实际的.tt文件安装到第二个项目中,然后由于程序集引用而无法编译

<#@ assembly name="$(SolutionDir)\..\..\bin\LanguageExt.Core.dll" #>

因为它们相对于装配的路径不再正确。 所以我需要一种方法来禁止将tt文件安装到第二个项目中,并且能够从dll实例化mytemplate类文件并调用GenerateText()

如果那是不可能的,我想至少能够使用参数作为程序集相对路径,所以我可以确保它在两个地方构建。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

是的,就像在tt文件中将'Build Action'设置为'None'一样简单 得到外套