You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Studio 2022中TableAdapter强制使用Microsoft.Data.SqlClient问题求助

问题场景

使用Visual Studio 2022 v17.7.4 + .NET Framework 4.8,通过Web.config中配置的providerName="System.Data.SqlClient"的MyConnection连接字符串创建新TableAdapter,期望兼容旧系统的其他TableAdapter,但选择该连接后,TableAdapter仍强制使用Microsoft.Data.SqlClient,需安装大量相关包;卸载该包后创建新TableAdapter时又会自动重新安装,且未找到覆盖连接字符串的本地配置文件。

Web.config配置示例:

<configuration>
  <configSections>
      <connectionStrings>
        <add name="MyConnection" connectionString="Data Source=xxx.xxx.xxx.xxx;
            Initial Catalog=xxx;User ID=xxx;" 
            providerName="System.Data.SqlClient" />
      </connectionStrings>
  </configSections>
<configuration>
解决方法

方法1:修改项目配置强制指定数据提供程序

打开项目的.csproj文件,添加以下配置节点,强制DataSet设计器使用System.Data.SqlClient:

<PropertyGroup>
  <UseSqlClientOnDotNetFramework>true</UseSqlClientOnDotNetFramework>
</PropertyGroup>

保存文件后重新加载项目,后续创建TableAdapter时将自动使用System.Data.SqlClient,不会再自动安装Microsoft.Data.SqlClient包。

方法2:在TableAdapter向导中手动指定提供程序

在创建TableAdapter的流程中,选择完目标连接字符串后,进入“选择命令类型”步骤前,点击高级选项按钮,在弹出的配置窗口中手动选择System.Data.SqlClient作为数据提供程序,覆盖默认的Microsoft.Data.SqlClient。

方法3:清理项目及VS缓存

  • 关闭Visual Studio,删除项目目录下的obj和bin文件夹;
  • 删除用户目录下的Visual Studio组件缓存(路径示例:C:\Users\[你的用户名]\AppData\Local\Microsoft\VisualStudio\17.0_xxxx\ComponentModelCache,其中17.0_xxxx对应你的VS版本标识);
  • 重新打开项目后再尝试创建TableAdapter。

内容的提问来源于stack exchange,提问作者SyndRain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 15:46:08