我正在尝试使用 Web.config 中添加的连接字符串创建一个新的 TableAdapter,并尽量减少与现有库不兼容的可能性,我希望我的提供程序是
System.Data.SqlClient
(与此遗留系统中的所有其他 TableAdapter 一样)。
但是,当我选择“MyConnection”作为数据连接时,TableAdapter 的提供程序仍然设置为
Microsoft.Data.SqlClient
,这迫使我安装一堆新的相关软件包。
我找不到任何覆盖此连接字符串的本地配置文件。我尝试卸载
Microsoft.Data.SqlClient
包,但是当我创建新的 TableAdapter 时,它会将其安装回来。我该如何解决这个问题?
<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>
注意:我使用的是 Visual Studio 2022 v17.7.4 和 .NET Framework 4.8
可能相关,但我不知道如何使其工作:How to get Microsoft.Data.SqlClient to work with DataSet Designer?
尽管 Microsoft 发行说明根本没有提及此行为(至少我找不到任何行为),但自 Visual Studio 2022
v17.5
起,即使提供程序设置为 System.Data.SqlClient
,它也会使用 Microsoft.Data.SqlClient当您添加表适配器或数据集时,这会迫使您安装一堆Microsoft.Data.SqlClient
相关的软件包。 (似乎是一个问题,Issue#1,Issue#2,Issue#3)
作为一个非常糟糕的解决方法,我们可以在数据集设计器中新 tableAdapters 的
properties
选项卡中手动更改提供程序,即使它仍然会强制安装所有这些新包。