无法找到System.Data.SqlClient引用

时间:2018-02-28 17:17:44

标签: c# sqlclient

我有一个全新的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));
                        }
                    }
                }
            }
        }
    }
}

4 个答案:

答案 0 :(得分:4)

dotnet add package System.Data.SqlClient

答案 1 :(得分:2)

您只需要在解决方案资源管理器中添加引用选项,然后,如果该选项不起作用,则需要更改类库,除了“ .net standard”外,还应使用“ .net framework”

答案 2 :(得分:1)

就我而言,我有一个与其他答案不同的细微问题。 添加了参考,但是它有一个黄色三角形,表示我对参考有问题。

我必须从引用下拉列表中将其删除

Assembly references

并使用

重新安装软件包
  

软件包更新System.Data.SqlClient-重新安装

然后它又添加了正确的引用。

我把头发拉开了两天,因为我知道我有参考,但从未注意到它有黄色三角形。

我认为这只是版本不匹配的问题,但是在web.config上使用绑定重定向毫无用处。

那时我意识到没有将System.Data.SqlClient.dll复制到我的bin文件夹中。那是因为错误的程序集引用。我不知道这个引用是如何被破坏的。

答案 3 :(得分:0)

请检查计算机上的SQL Server版本,您的计算机上可能安装了多个版本的sql server express。 请尝试从管理工作室连接(localdb)/ MSSQLLOCALDB,如果可以打开,请尝试更新程序中的连接,然后重试。