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



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

mytemplate.TransformCode();

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

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

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

<#@ assembly name="$(SolutionDir)....binLanguageExt.Core.dll" #>

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

如果这是不可能的,我希望至少能够为程序集相对路径使用一个参数,这样我就可以确保它在两个地方都构建。

有什么想法吗?

是的,就像在 tt 文件上将"构建操作"设置为"无"一样简单得到外套

最新更新