Host.ResolvePath和相对路径

awr*_*ley 2 t4

我已将我的t4模板放在CodeTemplate\MyTemplateFolder文件夹中,但无法从那里开始工作.

问题是我需要访问位于项目根目录中的名为models的文件夹.

即:

Project Root Folder\CodeTemplates\MyTemplateFolder\MyTemplate.tt
Run Code Online (Sandbox Code Playgroud)

我需要访问以下文件:

Project Root Folder\Models
Run Code Online (Sandbox Code Playgroud)

但是,我无法弄清楚如何使用我的模板this.Host.ResolvePath中的Models文件夹.

有什么建议?

用于:

var relativePathModelsFolder = @"..\..\Models";
var path = this.Host.ResolvePath(relativePathModelsFolder);
Run Code Online (Sandbox Code Playgroud)

给我一个根文件夹的绝对路径.... \模型卡在最后.

我似乎无法遍历到根目录,然后进入我的Models文件夹.

小智 11

这对我来说似乎更简单:

({
<#
var projectPath = Host.ResolveAssemblyReference("$(ProjectDir)");
var viewPath = projectPath + "Views";

#>
   view:"<#=viewPath #>",
}
)
Run Code Online (Sandbox Code Playgroud)