System.Data.SqlClient 与 .NET 4.0

Posted

技术标签:

【中文标题】System.Data.SqlClient 与 .NET 4.0【英文标题】:System.Data.SqlClient with .NET 4.0 【发布时间】:2021-10-27 20:42:29 【问题描述】:

如何将 System.Data.SqlClient 安装到 .NET 4.0 项目?当尝试安装 nuget 包是 VS 时,获取错误包不包含任何与该框架兼容的程序集引用或内容文件。我可以转到 4.8.2 之前的版本吗?

【问题讨论】:

不要这样做。只是不要。 5 1/2 年前结束了对 .NET 4.0 的支持。继续使用过时的框架会使您的项目和用户面临严重风险。 这可能有点极端,但同意大卫的观点——使用旧框架没有多大意义。如果您坚持使用它,那么我不确定为什么会出现问题 - .net 4 框架包含 System.Data.SqlClient 开箱即用,只需引用它即可。您不必安装 nuget 包 在 .NET 4.0 中,我很确定您需要的只是对 System.Data 的程序集引用,它通常在大多数样板项目中默认添加。不需要 nugets。不过,我完全支持大卫的观点。 我投票关闭有两个原因:1)System.Data.SqlClient 是 .NET 4.0 甚至 .NET 1.0 中运行时的一部分,当时没有 NuGet,所以问题不清楚。为什么不直接添加using System.Data.SqlClient;?没有任何代码可以实际演示问题,甚至没有错误消息 2) .NET 4.0 已停止支持 几年 年。除非您以 Windows XP 为目标,否则它甚至无法在任何机器上使用。在所有其他情况下,安装更新的运行时(如 4.5)将取代 4.0。 4.x 运行时是二进制替换。 @PanagiotisKanavos:因为问题不清楚而投票结束是一回事,但主题不受支持并不是结束的理由——SO 上有许多标签表示不受支持和过时的技术继续收到问题,Meta 认为这是有效的(for example,尽管其他人并不难找到)。不过,“以更高版本为目标”可能是答案的一部分,正如评论以确认 OP 真的 是否需要以 .NET 4 为目标(这不太可能,但并非完全不可能)。跨度> 【参考方案1】:

如上cmets中所说,.net 4框架包含System.Data.SqlClient,你只需要在你的项目中添加一个引用即可。

从这个document可以知道,Microsoft.Data.SqlClient所依赖的.net框架的最低版本是.NETFramework 4.6.1。

下载包时更改版本,可以在版本下拉框中选择其他版本。

【讨论】:

没有理由添加那个包。 System.Data.SqlClient 与 .NET Framework 本身捆绑在一起。 上面的cmets已经详细解释了.net 4框架包含System.Data.SqlClient,我只是解释了他的错误和System.Data.SqlClient的使用

以上是关于System.Data.SqlClient 与 .NET 4.0的主要内容,如果未能解决你的问题,请参考以下文章

C# MySQL 错误 System.Data.SqlClient.SqlException:

SqlServer报错:System.Data.SqlClient.SqlException

System.Data.SqlClient.SqlException:与 ASP.NET Core 2.1 和 SQL Server 组合的网络相关或实例 docker

System.Data.SqlClient.SqlException

System.Data.SqlClient.SqlException - 无法通过Management Studio连接到SQL Server

System.Data.SqlClient.SqlException:列名“phone_types_phone_type_id”无效