为什么 System.Data 不会在 scriptcs 中自动加载?
Why won't System.Data automatically load in scriptcs?
我正在尝试使用 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: The type or namespace name 'SqlConnection' could not be found (are you missing a using directive or an assembly reference?)
System, System.Core, System.Data, System.Data.DataSetExtensions, System.Xml, System.Xml.Linq assemblies are referenced by default.
我尝试将以下行添加到我的脚本的顶部,但出现了同样的错误:
#r "System.Data.dll"
我尝试将我的 class 名称完全限定为 System.Data.SqlConnection
,但遇到了同样的错误。
我已确认 System.Data.dll 存在于 C:\Windows\Microsoft.NET\assembly\GAC_64\System.Data\v4.0_4.0.0.0__b77a5c561934e089
和 C:\Windows\Microsoft.NET\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089
的 GAC 中
普通的 .NET 控制台应用程序(非 scriptcs)使用 SqlConnection 没有问题 class。
您没有正确的命名空间。 SqlConnection
class 实际上在 System.Data.SqlClient
请看一下在命名空间System.Data.SqlClient
.
中定义的SqlConnection
作为附加提示,您可以将代码发布到一个简单的命令行项目中,看看会发生什么。
我正在尝试使用 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: The type or namespace name 'SqlConnection' could not be found (are you missing a using directive or an assembly reference?)
System, System.Core, System.Data, System.Data.DataSetExtensions, System.Xml, System.Xml.Linq assemblies are referenced by default.
我尝试将以下行添加到我的脚本的顶部,但出现了同样的错误:
#r "System.Data.dll"
我尝试将我的 class 名称完全限定为 System.Data.SqlConnection
,但遇到了同样的错误。
我已确认 System.Data.dll 存在于 C:\Windows\Microsoft.NET\assembly\GAC_64\System.Data\v4.0_4.0.0.0__b77a5c561934e089
和 C:\Windows\Microsoft.NET\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089
普通的 .NET 控制台应用程序(非 scriptcs)使用 SqlConnection 没有问题 class。
您没有正确的命名空间。 SqlConnection
class 实际上在 System.Data.SqlClient
请看一下在命名空间System.Data.SqlClient
.
作为附加提示,您可以将代码发布到一个简单的命令行项目中,看看会发生什么。