如何从t4模板中获取对visual studio项目或解决方案目录或t4模板目录的引用?
我有一个模板,它将多个文件连接在一起,这些文件位于相对于模板的位置。我需要通过相对手段获得对绝对位置的引用。硬编码绝对路径是不可接受的,因为visual studio项目并不总是在同一位置,这会破坏代码生成。从环境中读取当前工作目录也不起作用,因为它返回T4引擎所在的位置而不是模板。我刚刚进入t4所以任何帮助都会受到赞赏。
答案 0 :(得分:87)
请参阅主机特定参数部分HERE。
此代码段显示了如何获取src相对于模板的完整路径。
<#@ template hostspecific="true" #>
// The location of the src folder relative to the t4 template:
// <#= Host.ResolvePath("src") #>
答案 1 :(得分:2)
你可以像这样抓住路径
<#@ template hostspecific="true" #>
<#= Path.GetDirectoryName(this.Host.TemplateFile) #>