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
たが、同じエラーが発生しました。
System.Data.dll が GAC に存在することを確認しまし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 コンソール アプリケーション (非スクリプト) では、SqlConnection クラスを使用しても問題はありません。