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 命名空间