我正在使用 T4 为项目生成一些屏幕和中间层代码,并希望使用 Linq 来简化我的一些模板代码。但是,当我尝试使用 Linq 时,模板会报告语法错误。
GalacticCowboy
问问题
9654 次
1 回答
100
默认情况下,在 Visual Studio 2008 中(以及在大多数在线示例中使用的)模板是使用不包括 Linq 的 2.0 框架编译的。(参见MSDN 论坛主题)
要解决这个问题,需要三个步骤:
- 在模板的语言属性中,指定“C#v3.5”或“VBv3.5” - 对于始终使用 .Net 4.0 的 VS2010,此步骤不是必需的。
- 为 System.Core.dll 添加汇编指令
- 导入 System.Linq 命名空间
您的模板现在看起来像这样:
<#@ template language="C#v3.5" #>
<#@ assembly name="System.Core" #>
<#@ import namespace="System.Linq" #>
您现在可以在模板中使用 Linq 和其他新的语言功能。
于 2008-10-29T14:29:21.100 回答