从T4模板中确定项目目录

bla*_*ter 15 t4

我在Visual Studio中使用T4模板进行代码生成,并尝试从模板代码中引用本地.xml文件,以便我可以解析它以获取有关应用程序数据模型的元数据.

当模板代码(在编译时运行或在模板上运行"执行自定义工具")尝试通过Environment.CurrentDirectory获取当前路径时,我得到:

c:\ Program Files(x86)\ Microsoft Visual Studio 9.0\Common7\IDE

我真的试图在项目中找到模板本身的路径,这样我就可以使用相对路径来查找驱动它的.xml文件.有任何想法吗?

bla*_*ter 15

我找到了答案:

Path.GetDirectoryName(Host.TemplateFile)


Ole*_*ych 4

另一种(也许更快一点)方法是 Host.ResolvePath(localFilePath)。