无法找到 System.Data.SqlClient 参考

Unable to locate System.Data.SqlClient reference

我安装了全新的 Visual Studio 2017 Professional。我正在使用 .NET 4.7.1 构建快速 POC 控制台应用程序,但找不到 System.Data.SqlClient.

的参考

我搜索了我的系统,找到了 4 个版本的 System.Data.SqlClient.dll,但 none 是正确的,无法编译。 我也曾尝试使用 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));
                        }
                    }
                }
            }
        }
    }
}

您只需在解决方案资源管理器中添加参考选项,然后,如果它不起作用,您需要更改 class 除了“.net 标准”之外的库使用“.net 框架”

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

dotnet add package System.Data.SqlClient

就我而言,我遇到了一个与其他答案不同的微妙问题。 添加了参考,但它有一个黄色三角形,这意味着我对参考有疑问。

我不得不从参考下拉列表中删除它

并使用

重新安装软件包

Update-Package System.Data.SqlClient -Reinstall

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

我整整两天都在梳头发,因为我知道我有参考,但从来没有注意到它有黄色三角形。

我以为只是版本不匹配的问题,但是在 web.config 上使用绑定重定向没有用。

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

足以添加引用“System.Data.SqlClient”; 与上面相同的答案,只是 select LIB class ".net framework" 而需要将 lib class 添加到您的项目中。

新问题。 Microsoft 从较新版本的 Visual Studio 和 .NET Core 中删除了 System.Data.SqlClient。解决方法是安装 NuGet 包 System.Data.SqlClient。换句话说,您可能在系统上找不到 DLL,需要使用 NuGet 添加它。

在解决方案资源管理器中,右键单击引用并选择“管理 NuGet 包...”。搜索“System.Data.SqlClient”。找到后选择,安装。