新たにVisual Studio 2017 Professionalをインストールしました。 .NET 4.7.1を使用してクイックPOCコンソールアプリケーションを構築していますが、System.Data.SqlClientの参照が見つかりません。
システムを精査し、System.Data.SqlClient.dllの4つのバージョンを見つけましたが、どれも正しくないためコンパイルできません。 System.Dataを使用しようとしましたが、SqlClientへの参照は内部にありません。 System.Dataのdll/referenceを手動で追加しましたが、参照の問題も解決しませんでした。
私のアプリケーションは現時点では本当にシンプルであり、この参照がないためコンパイルできません。
これを解決するには、どのような手順が必要ですか?
using System;
using System.Data;
using System.Data.SqlClient;
namespace ConsoleApp1
{
class Database
{
public void Start()
{
string connString = @"server=(local);initial catalog=MyDatabase;Integrated Security=SSPI;";
using (SqlConnection conn = new SqlConnection(connString))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand("SELECT TOP 10 ID, Name FROM TableA", conn))
{
using (SqlDataReader reader = cmd.ExecuteReader())
{
while(reader.Read())
{
Console.WriteLine("ID: [{0}], Name: [{1}]", reader.GetValue(0), reader.GetValue(1));
}
}
}
}
}
}
}
dotnet add package System.Data.SqlClient
ソリューションエクスプローラーに参照オプションを追加するだけで、その後機能しない場合は、クラスライブラリを変更する必要があります。「。net standard」とは別に「.net framework」を使用します
私の場合、他の回答とは異なる微妙な問題がありました。参照が追加されましたが、黄色の三角形が表示されていたため、参照に問題がありました。
参照ドロップダウンから削除する必要がありました
そして、パッケージを再インストールします
パッケージ更新System.Data.SqlClient-再インストール
次に、正しい参照を追加しました。
リファレンスがあることを知っていたので、2日間髪を引き離していましたが、黄色の三角形があることに気づきませんでした。
バージョンの不一致だけの問題だと思っていましたが、web.config
どこでもありません。
System.Data.SqlClient.dll
はbin
フォルダーにコピーされていませんでした。これは、アセンブリ参照が間違っていたためです。しかし、この参照がどのように破損したのかわかりません。
マシンのSQL Serverのバージョンを確認してください。マシンに複数のバージョンのSQL Server Expressがインストールされている場合があります。管理スタジオから(localdb)/ MSSQLLOCALDBに接続してみてください。開くことができる場合は、プログラムの接続を更新してから再試行してください。