【问题标题】:System.Data.SqlClient assembly not found .net 3.5System.Data.SqlClient 程序集未找到.net 3.5
【发布时间】:2020-01-24 18:01:31
【问题描述】:

我正在尝试将 VB.net 应用程序转换为 C#,然后我到了使用 SqlClient 执行数据库部分的部分,但它不存在。我发现的大多数帖子都说我应该使用 nuget 包,但是当我这样做时,它失败了,因为我的目标是 .net 3.5 这是一个要求,因为直到我们(慢慢地)摆脱所有 Windows 7 机器,这就是我的目标。

编辑我的参考经理的屏幕截图,我也在使用 System.Data

【问题讨论】:

  • 仅供参考 - Windows 7 支持 .Net 4.0 及更高版本。甚至 XP 也支持 .Net 4.0。您可以在 Vista 上升级到 4.6。 docs.microsoft.com/en-us/dotnet/framework/get-started/…
  • 遗憾的是,我不知道机器上的补丁级别是多少,我知道它们是较旧的瘦客户端。
  • 在 .NET 3.5 中:SqlClient 是 in System.Data

标签: c# .net-3.5


【解决方案1】:

如果您的目标是 .NET 3.5,则可以使用 框架引用System.Data,它会为您提供 SqlClient。但是,您可能不应该仍然继续尝试使用 .NET 3.5。您将无法使用 nuget 包,因为它不会回溯到那么远。在 csproj 术语中,这是:

<ItemGroup>
  <Reference Include="System.Data" />
</ItemGroup>

【讨论】:

  • However, you probably shouldn't still keep trying to work with .NET 3.5 - 你能帮我说服我的经理吗? ;)
  • 在发布这篇文章的同时,我从 Rubber Duck 团队的一些人那里得到了建议,看来我也需要 System.Data.Entity。
  • @BrootsWaymb 你在开玩笑,但我正在积极尝试,这就是为什么我最近从我管理的许多库中删除了低级 TFM;我曾 希望 将 netstandard2.0 设为最低支持版本,但 .NET 4.6.1 声称 支持 netstandard2.0(但不是真的)的问题意味着我'必须以netstandard2.0 + net461作为堆底进行多目标。在这个方向上我并不孤单——我已经看到多个库维护者也在做同样的事情。所以:告诉你的经理“不再支持图书馆”
猜你喜欢
  • 1970-01-01
  • 2011-05-06
  • 1970-01-01
  • 1970-01-01
  • 2012-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-08
相关资源
最近更新 更多