我有一个全新的Visual Studio 2017 Professional安装。我正在使用.NET 4.7.1构建一个快速的POC控制台应用程序,我无法找到System.Data.SqlClient的引用。
我已经搜索了我的系统,并找到了4个版本的System.Data.SqlClient.dll,但没有一个是正确的,不会编译。 我也尝试使用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));
}
}
}
}
}
}
}
答案 0 :(得分:4)
dotnet add package System.Data.SqlClient
答案 1 :(得分:2)
您只需要在解决方案资源管理器中添加引用选项,然后,如果该选项不起作用,则需要更改类库,除了“ .net standard”外,还应使用“ .net framework”
答案 2 :(得分:1)
就我而言,我有一个与其他答案不同的细微问题。 添加了参考,但是它有一个黄色三角形,表示我对参考有问题。
我必须从引用下拉列表中将其删除
并使用
重新安装软件包软件包更新System.Data.SqlClient-重新安装
然后它又添加了正确的引用。
我把头发拉开了两天,因为我知道我有参考,但从未注意到它有黄色三角形。
我认为这只是版本不匹配的问题,但是在web.config
上使用绑定重定向毫无用处。
那时我意识到没有将System.Data.SqlClient.dll
复制到我的bin
文件夹中。那是因为错误的程序集引用。我不知道这个引用是如何被破坏的。
答案 3 :(得分:0)
请检查计算机上的SQL Server版本,您的计算机上可能安装了多个版本的sql server express。 请尝试从管理工作室连接(localdb)/ MSSQLLOCALDB,如果可以打开,请尝试更新程序中的连接,然后重试。