visual-studio-2010 - T4麻烦编译转换

标签 visual-studio-2010 t4

我无法弄清楚这一点。为什么T4找不到IEnumerable类型?我正在使用 Visual Studio 2010。我只是希望有人知道为什么?

<#@ template debug="true" hostspecific="false" language="C#" #>
<#@ assembly name="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"  #>
<#@ import namespace="System" #>
<#@ import namespace="System.Data" #>
<#@ import namespace="System.Data.SqlClient" #>
<#@ output extension=".cs" #>
public static class Tables
{
    <#

    var q = @"
        SELECT 
            tbl.name 'table', 
            col.name 'column' 
        FROM 
            sys.tables tbl
        INNER JOIN 
            sys.columns col ON col.object_id = tbl.object_id
    ";

    // var source = Execute(q);

    #>
}
<#+
    static IEnumerable Execute(string cmdText)
    {
        using (var conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=t4build;Integrated Security=True;"))
        {
            conn.Open();

            var cmd = new SqlCommand(cmdText, conn);

            using (var reader = cmd.ExecuteReader())
            {
                while (reader.Read())
                {
                }
            }
        }
    }
#>

错误 2 编译转换:找不到类型或命名空间名称“IEnumerable”(您是否缺少 using 指令或程序集引用?) c:\Projects\T4BuildApp\T4BuildApp\TextTemplate1.tt 26 9

最佳答案

我还建议引用 #assembly name="System.Core"和 #import "System.Linq"以便在使用 IEnumerable 执行某些操作时获得更多功能

关于visual-studio-2010 - T4麻烦编译转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2798836/

相关文章:

c++ - C++应用程序在VS2010和VS2008中的性能

c# - 如何使用 C# 限制 Windows 应用程序只安装一台计算机?

c# - Visual Studio 2010 将 MSBuild 日志放在哪里?

.net - 简单的 T4 模板在 Visual Studio 2010 中不起作用,但在 MonoDevelop 中起作用吗?

c# - Microsoft TextTransform 实用程序可以独立使用吗?

c# - 将 t4 类 checkin 源代码管理?

c++ - MFC 应用程序中奇怪的控件显示损坏

c++ - 错误 LNK2001 : unresolved external symbol Visual C++

.net - .tt 文件的语法高亮显示?

asp.net-mvc - 如何在 VS2010 中获取 T4 以迭代类的属性