用T4获取项目或相关目录

如何从t4模板中获得对Visual Studio项目或解决scheme的目录或t4模板的目录的引用?

我有一个模板,将多个文件连接在一起,这些文件与模板相关。 我需要通过一个相对的方法来获得对绝对位置的引用。 硬编码的绝对path是不可接受的,因为Visual Studio项目不会总是在相同的位置,这将打破代码生成。 从环境中读取当前工作目录不起作用,因为它返回T4引擎所在的位置而不是模板。 我只是进入t4所以任何帮助,将不胜感激。

2 Solutions collect form web for “用T4获取项目或相关目录”

请参阅这里的主机特定参数部分。

这段代码展示了如何获得相对于模板的src的完整path。

<#@ template hostspecific="true" #> // The location of the src folder relative to the t4 template: // <#= Host.ResolvePath("src") #> 

你也可以像这样抓住path

 <#@ template hostspecific="true" #> <#= Path.GetDirectoryName(this.Host.TemplateFile) #> 
  • 更改资源文件(resx)名称空间和访问修饰符
  • 如何在Visual Studio项目中定义相对path?
  • VS.NET 2010中的exception窗口缺less“User-unhandled”列
  • 在声明处添加键/值到词典
  • Visual Studio,每个解决scheme缩进设置
  • 如何更改Visual Studio的标题栏文本
  • 用户控件未显示在工具箱中
  • Visual Studio“任何CPU”目标是什么意思?
  • 如何将ILMerge集成到Visual Studio生成过程中以合并程序集?
  • 意外的文件错误结束
  • “”是“&nbsp;”的替代吗?