T4 程序集指令

更新:2011 年 3 月

在 Visual Studio 设计时文本模板中,assembly 指令可加载程序集,以便您的模板代码可使用其类型。 该作用类似于在 Visual Studio 项目中添加程序集引用。

有关编写文本模板的一般概述,请参见编写 T4 文本模板

提示

运行时(预处理)文本模板中不需要 assembly 指令。 另外,请将必需程序集添加到 Visual Studio 项目的“引用”中。

使用 Assembly 指令

该指令的语法如下所示:

<#@ assembly name="[assembly strong name|assembly file name]" #>

程序集名称应为以下各项之一:

  • GAC 中程序集的强名称,例如 System.Xml.dll。 还可以使用长形式,例如 name="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"。 有关更多信息,请参见 AssemblyName

  • 程序集的绝对路径

可以使用 $(variableName) 语法引用 Visual Studio 或 MSBuild 变量(如 $(SolutionDir)),以及使用 %VariableName% 来引用环境变量。 例如:

<#@ assembly name="$(SolutionDir)\MyProject\bin\Debug\SomeLibrary.Dll" #>

在预处理文本模板中,assembly 指令无效。 改为在 Visual Studio 项目的**“引用”**部分,包括必要的引用。 有关更多信息,请参见使用预处理 T4 文本模板生成运行时文本

标准程序集

将自动加载以下程序集,您无需为它们编写程序集指令:

  • Microsoft.VisualStudio.TextTemplating.1*.dll

  • System.dll

  • WindowsBase.dll

如果您使用自定义指令,则指令处理器可能会加载其他程序集。 例如,如果您为域特定语言 (DSL) 编写模板,则无需为以下程序集编写程序集指令:

  • Microsoft.VisualStudio.Modeling.Sdk.1*.dll

  • Microsoft.VisualStudio.Modeling.Sdk.Diagrams.1*.dsl

  • Microsoft.VisualStudio.TextTemplating.Modeling.1*.dll

  • 包含 DSL 的程序集。

请参见

其他资源

T4 包含指令

修订记录

日期

修订记录

原因

2011 年 3 月

从父主题中拆分出来。

信息补充。