这段代码有什么问题。为什么我不能使用 SqlConnection?

Red*_*lik 20 c# sql sqlclient

我是 SQl 的 100% 新手,想使用数据库制作一个 ConsoleApp。我读了一些关于它并尝试过。当我需要创建 SqlConnection 时,我的 VS 2019 Preview 向我展示了这个

严重性代码描述项目文件行抑制状态错误 CS1069 在命名空间“System.Data.SqlClient”中找不到类型名称“SqlConnection”。此类型已转发到程序集“System.Data.SqlClient, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a” 考虑添加对该程序集的引用。ConsoleApp1 C:\Users\User\Desktop\Bald Code\ConsoleApp1\ConsoleApp1\Program.cs 12 活动

我不明白为什么它不起作用

这是我的代码

using System;

using System.Data;

using System.Data.SqlClient;

namespace ConsoleApp1

{

    class Program
    {
        static void Main(string[] args)
        {
            string connectionString;
            SqlConnection cnn;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Cha*_*ock 27

如果您刚刚将EntityFrameworkCore从 2.x 版更新到 3.x 版并且遇到了这个问题,请将您的using语句更改为Microsoft .Data.SqlClient而不是System .Data.SqlClient

如果您使用的是EntityFrameworkCore.SqlServer,它已经将其作为依赖项,因此您不需要显式安装它。

此 Microsoft 博客解释了此更改。

  • https://www.nuget.org/packages/Microsoft.Data.SqlClient/2.0.1 (4认同)

Jaz*_*azb 19

假设您使用的是 .NET Core - 只需添加 NuGet 包: System.Data.SqlClient

您的 .csproj 可能类似于:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.1</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="System.Data.SqlClient" Version="4.5.1" />
  </ItemGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)

  • 尽管在 VS2017 中添加了来自 NuGet 的包,但我遇到了类似的问题。我必须关闭项目并重新打开它才能识别 System.Data.SqlClient。 (4认同)

Ian*_*Ian 6

在 VS Code 中解决这个问题的具体方法是

1)通过去终端 - >新终端打开一个终端

2) 运行 dotnet 添加包 System.Data.SqlClient

3) 运行 dotnet restore

最后一个命令可能不是必需的,但这样做对我有用。控制台应用程序模板似乎没有准备好引用 SqlClient。


Dre*_*ADH 5

很可能 System.Data.SqlClient.DLL 不在 Bin 文件夹中,并且您没有在项目中设置对 DLL 的引用。您在安装 Visual Studio 时错过了数据库选择。现在您只需手动添加名为“System.Data.SqlClient”的引用。

1.右键单击您的项目名称并选择nuget包选项。

2.搜索“System.Data.SqlClient”并安装。

在此处输入图片说明

希望这是解决您的错误