ITextTemplatingEngineHost 接口

用于转换文本模板的主机接口。 这可用于指令处理器,也可以通过文本模板进行访问。

命名空间:  Microsoft.VisualStudio.TextTemplating
程序集:  Microsoft.VisualStudio.TextTemplating.Interfaces.10.0(在 Microsoft.VisualStudio.TextTemplating.Interfaces.10.0.dll 中)

语法

声明
<CLSCompliantAttribute(True)> _
Public Interface ITextTemplatingEngineHost
[CLSCompliantAttribute(true)]
public interface ITextTemplatingEngineHost
[CLSCompliantAttribute(true)]
public interface class ITextTemplatingEngineHost
[<CLSCompliantAttribute(true)>]
type ITextTemplatingEngineHost =  interface end
public interface ITextTemplatingEngineHost

ITextTemplatingEngineHost 类型公开以下成员。

属性

  名称 说明
公共属性 StandardAssemblyReferences 获取程序集引用的列表。
公共属性 StandardImports 获取命名空间的列表。
公共属性 TemplateFile 获取所处理文本模板的路径和文件名。

页首

方法

  名称 说明
公共方法 GetHostOption 由引擎调用以要求指定选项的值。如果您未找到该值,则返回 null。
公共方法 LoadIncludeText 获取文本,它对应于包含部分文本模板文件的请求。
公共方法 LogErrors 接收来自转换引擎的错误和警告集合。
公共方法 ProvideTemplatingAppDomain 提供运行所生成转换类的应用程序域。
公共方法 ResolveAssemblyReference 允许主机提供有关程序集位置的附加信息。
公共方法 ResolveDirectiveProcessor 在已知指令处理器的友好名称时,返回其类型。
公共方法 ResolveParameterValue 如果在模板文本中未指定某个参数,则为指令处理器解析该参数的值。
公共方法 ResolvePath 允许主机提供完整路径以及给定文件名或相对路径。
公共方法 SetFileExtension 通知主机所生成文本输出需要的文件扩展名。
公共方法 SetOutputEncoding 通知主机所生成文本输出需要的编码。

页首

备注

主机将文本模板文件作为输入,并生成一个文本文件作为输出。 典型主机是 TextTemplatingFileGenerator 工具,用于转换 Visual Studio 项目中的模板。 它调用一个或多个指令的处理器,以处理不同类型的模板。 此接口的成员可以访问指令处理器和文本模板的代码。 文本模板引擎控制该进程,并与主机和一个或多个指令处理器进行交互。 若要了解有关这些组件的更多信息,请参见代码生成和 T4 文本模板

为使主机能够访问文本模板的代码,请对模板指令的 hostspecific 参数进行设置。 例如:

<#@template language="c#" hostspecific="true" #>
<# // This template is specific to the TextTemplatingFileGenerator host,
   // which transforms templates in a Visual Studio project. #>
These are the projects in this solution:
<#=this.Host.ResolveParameterValue("-", "-", "projects") #>

如果要在 Visual Studio 之外或通过自定义工具使用文本模板,实现此接口编写一个自定义主机。 有关示例,请参见演练:创建自定义文本模板宿主

请参见

参考

Microsoft.VisualStudio.TextTemplating 命名空间

其他资源

演练:创建自定义文本模板宿主

代码生成和 T4 文本模板