C# 为什么系统数据不能在脚本中自动加载?
我正在尝试使用0.17.1在C中创建一个简单的脚本。以下是我的脚本:C# 为什么系统数据不能在脚本中自动加载?,c#,.net,scriptcs,C#,.net,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()
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.dll,地址为C:\Windows\Microsoft.NET\assembly\GAC_64\System.Data\v4.0.0.0_b77a5c561934e089和C:\Windows\Microsoft.NET\assembly\GAC_32\System.Data\v4.0_4.0.0_b77a5c561934e089
正常的.NET控制台应用程序(非脚本)在使用SqlConnection类时没有问题。您没有正确的命名空间。该类实际上位于System.Data.SqlClient中,您没有正确的命名空间。该类实际上位于System.Data.SqlClient中。请查看命名空间System.Data.SqlClient中定义的类 作为一个额外的提示,您可以将代码发布到一个简单的命令行项目中,看看会发生什么。请查看名称空间System.Data.SqlClient中定义了什么
作为补充提示,您可以将代码发布到一个简单的命令行项目中,看看会发生什么。:facepalm:我想我太依赖Intellisense了。请尝试将所有代码都写在notepad.exe中,这将解决这种依赖性:P:facepalm:我想我太依赖Intellisense了。试着在notepad.exe中编写所有代码,这将解决这种依赖性:P