1

我正在尝试使用scriptcs 0.17.1 在 C# 中创建一个简单的脚本。这是我的脚本:

using System.Data;

using(var connection = new SqlConnection("constring"))
{
    using(var command = new SqlCommand("select GETDATE()", connection))
    {
        connection.Open();
        command.ExecuteNonQuery();
        Console.WriteLine("Hello, world!");
    }
}

当我通过scriptcs test.csx这个运行给我错误:

CS0246:找不到类型或命名空间名称“SqlConnection”(您是否缺少 using 指令或程序集引用?)

根据文档

默认情况下会引用 System、System.Core、System.Data、System.Data.DataSetExtensions、System.Xml、System.Xml.Linq 程序集。

我尝试将以下行添加到我的脚本顶部,但得到了同样的错误:

#r "System.Data.dll"

我尝试完全限定我的班级名称,System.Data.SqlConnection但得到了同样的错误。

我已经验证了 GAC 中存在 System.Data.dllC:\Windows\Microsoft.NET\assembly\GAC_64\System.Data\v4.0_4.0.0.0__b77a5c561934e089C:\Windows\Microsoft.NET\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089

普通的 .NET 控制台应用程序(非脚本)使用 SqlConnection 类没有问题。

4

2 回答 2

3

您没有正确的命名空间。该SqlConnection课程实际上在System.Data.SqlClient

于 2017-11-01T14:03:05.997 回答
1

请看一下命名空间中定义的SqlConnectionSystem.Data.SqlClient

作为附加提示,您可以将代码发布到一个简单的命令行项目中,看看会发生什么。

于 2017-11-01T14:04:34.120 回答