T4相对路径参考

时间:2017-01-27 20:03:24

标签: c# visual-studio-2015 t4

我正在使用T4将嵌入式库中的h文件转换为C#文件。这工作正常,但我想提供相关文件的相对引用。到目前为止,这是我能够提出的所有内容:

s = Path.GetDirectoryName(Host.ResolvePath("thisFile.tt")) + @"\..\foo\bar.h";

如果我可以在项目中包含bar.h并将构建操作更改为“None”然后简化,那将是很好的:

s = Host.ResolvePath("bar.h");

但这会抛出一个错误,据我所知,只有ResolvePath才能获取与T4脚本位于同一目录中的文件。

任何人都有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

由于bar.h位于不同的文件夹中,因此需要为其指定相对路径。所以你会这样做

s = Host.ResolvePath(@"..\foo\bar.h");

答案可以在https://msdn.microsoft.com/en-us/library/gg604090(v=vs.100).aspx

找到
  

要查找文件相对于文本模板的完整路径,请使用   this.Host.ResolvePath()。