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