如何让Microsoft.Data.SqlClient适配Visual Studio的DataSet Designer?
解决方案
该报错源于Visual Studio数据集设计器的设计时环境默认未加载Microsoft.Data.SqlClient的提供程序工厂,且.NET Standard项目默认缺少对应提供程序的注册配置,可按以下步骤调整:
- 新增/修改项目根目录下的
App.config文件,添加Microsoft.Data.SqlClient提供程序工厂的注册配置,示例如下:
<configuration> <system.data> <DbProviderFactories> <remove invariant="Microsoft.Data.SqlClient" /> <add name="Microsoft SqlClient Data Provider" invariant="Microsoft.Data.SqlClient" description="Microsoft SqlClient Data Provider for SQL Server" type="Microsoft.Data.SqlClient.SqlClientFactory, Microsoft.Data.SqlClient" /> </DbProviderFactories> </system.data> <connectionStrings> <add name="自定义连接名称" connectionString="你的实际SQL Server连接字符串" providerName="Microsoft.Data.SqlClient" /> </connectionStrings> </configuration>
- 确认已安装的
Microsoft.Data.SqlClientNuGet包为2.1.x及以上稳定版本,右键点击该NuGet包打开属性,设置「复制本地」为True,保证设计时环境可以正常加载对应程序集。 - 若使用Visual Studio 2019,需升级到16.8及以上版本,该版本开始内置支持
Microsoft.Data.SqlClient的设计时操作。 - 全部配置完成后重启Visual Studio,重新打开数据集设计器修改TableAdapter的连接提供程序即可正常保存。
若上述操作仍触发报错,可直接用文本编辑器打开数据集对应的.xsd文件,全局搜索System.Data.SqlClient并全部替换为Microsoft.Data.SqlClient,保存后重新打开设计器即可生效。
内容的提问来源于stack exchange,提问作者Gaz83
相关产品推荐
相关产品推荐

