Ich versuche scriptcs 0.17.1 zu verwenden, um ein einfaches Skript in C# zu erstellen. Hier ist mein Skript:Warum wird System.Data nicht automatisch in Skripten geladen?
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!");
}
}
Wenn ich über scriptcs test.csx
laufen das gibt mir den Fehler:
CS0246: The type or namespace name 'SqlConnection' could not be found (are you missing a using directive or an assembly reference?)
Nach the documentation:
System, System.Core, System.Data, System.Data.DataSetExtensions, System.Xml, System.Xml.Linq assemblies are referenced by default.
Ich habe versucht, die folgende Zeile an der Spitze Mein Skript hat aber den gleichen Fehler:
#r "System.Data.dll"
Ich habe versucht, meinen Klassennamen vollständig als System.Data.SqlConnection
zu qualifizieren, bekam aber den gleichen Fehler.
ich vergewissert haben, dass System.Data.dll im GAC vorhanden auf C:\Windows\Microsoft.NET\assembly\GAC_64\System.Data\v4.0_4.0.0.0__b77a5c561934e089
und C:\Windows\Microsoft.NET\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089
Normale -Konsole-Anwendungen (nicht-scriptcs) haben kein Problem die SqlConnection-Klasse.
: facepalm: Ich glaube, ich bin viel zu abhängig von Intellisense geworden. – mason
Versuchen Sie, Ihren gesamten Code in notepad.exe zu schreiben, das wird diese Abhängigkeit aussortieren: P – DavidG