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たが、同じエラーが発生しました。

System.Data.dll が GAC に存在することを確認しましC:\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