我是 100% 的 SQl 新手,想用数据库制作一个 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;
}
}
}
如果您刚刚将 EntityFrameworkCore 从版本 2.x 更新到 3.x,并且您遇到了这个问题,请将您的
using
语句更改为 Microsoft.Data.SqlClient 而不是 系统.Data.SqlClient.
如果您正在使用 EntityFrameworkCore.SqlServer 它已经将其作为依赖项,因此您不需要显式安装它。
此 Microsoft 博客 解释了更改。
假设您使用的是 .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>
在 VS Code 中解决这个问题的具体方法是
转到终端 - >新终端打开终端
运行 dotnet 添加包 System.Data.SqlClient
运行 dotnet restore
最后一条命令可能不是必需的,但这样做对我来说很管用。控制台应用程序模板似乎没有为引用 SqlClient 做好准备。
更新
我认为推进项目应该使用 Microsoft.Data.SqlClient 而不是 System.Data.SqlClient:https://devblogs.microsoft.com/dotnet/introducing-the-new-microsoftdatasqlclient/.
正如@Mmm 在评论中提到的,如果您正在使用 .NET Core 并且已经安装了 System.Data.SqlClient 包,关闭并重新打开项目也为我解决了这个问题。
我今天遇到了那个错误,VS CODE 无法识别 System.Data.SqlClient;,这就是为什么你不能调用变量的原因......
我是怎么解决的??
关闭 visual studio/再次打开它,您的程序应该会摇摆和弹出!
NuGet 包
Install-Package System.Data.SqlClient
解决我的问题
对我来说,System.Data.SqlClient 已经安装好了。我必须做的是,我去了 Nuget 包管理器并将版本从 4.8.3 降级到 4.8.2 并且它起作用了。