首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >T4 Visual Studio2010包含链接的T4

T4 Visual Studio2010包含链接的T4
EN

Stack Overflow用户
提问于 2013-03-25 21:50:47
回答 2查看 278关注 0票数 0

这里有一个。我在一个项目/解决方案中有一堆T4s。这是一个带有支持代码和T4模板的框架。

在不同的解决方案中,我希望使用此框架,但支持类/ T4s保留在原始解决方案中。

在新的解决方案中,我链接到支持代码和T4s (添加现有/链接)。现在,在新的解决方案中,我有一个需要包含链接的T4的T4。它的内容是这样的:

<#@ template language="C#“debug="false”hostspecific="true"#> <#@ include file="..\Models\DALContextGenerator.tt"#> <#@ output extension=".cs"#><# Generate("..\Models\Model1.edmx");

>

在本例中,DALContextGenerator.tt位于此解决方案中,但链接到另一个解决方案中的实际DALContextGenerator.tt。当我运行T4时,我得到了一个错误("Failed to WHen text")。如果我引用物理位置,就可以了。

有什么想法吗?

谢谢

射线

EN

回答 2

Stack Overflow用户

发布于 2013-03-26 00:53:35

据我所知,T4引擎使用模板文件作为根,并且不知道Visual Studio解决方案和解决方案项。如果您正在使用指向其他位置文件的Visual Studio链接,则此信息仅存储在项目文件中。T4引擎查找相对于T4文件的包含路径。这就是引用Visual Studio链接相对失败的原因。但使用其绝对路径或指向物理文件的相对路径引用包含文件都会成功。

这里有一些如何解决你的问题的想法,但我想不出一个“顺利”的解决方案:

  • 在原始包含文件和模板文件旁边的文件之间使用硬链接(命令行:mklink /H source target)
  • if您正在使用源代码控制系统(如svn)您可以在不复制原始目录的情况下使用外部目录
  • 有一个(元) T4模板,它可以根据您从Env.DTE Visual Studio

获得的信息生成具有正确路径的实际T4模板

票数 1
EN

Stack Overflow用户

发布于 2017-03-14 20:26:17

老的但相关的问题,我认为与其他帖子相同,在那里我使用扩展$(ProjectDir)和$(SolutionDir)发布了回复:https://stackoverflow.com/a/42785952/1948625

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15616636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档