.net 正在清除App.config中的DbProviderFactorys

.net 正在清除App.config中的DbProviderFactorys,.net,app-config,machine.config,dbproviderfactories,.net,App Config,Machine.config,Dbproviderfactories,我有一个App.config,我想用不同版本的提供程序替换machine.config中指定的提供程序。我已尝试使用remove按名称删除提供程序,现在尝试使用clear将它们全部删除 这似乎没有效果:连接字符串仍在加载machine.config中指定的提供程序。例如,当使用下面的配置时,我希望应用程序找不到我的提供者 <system.data> <DbProviderFactories> <clear /> </system.

我有一个App.config,我想用不同版本的提供程序替换machine.config中指定的提供程序。我已尝试使用
remove
按名称删除提供程序,现在尝试使用
clear
将它们全部删除

这似乎没有效果:连接字符串仍在加载
machine.config
中指定的提供程序。例如,当使用下面的配置时,我希望应用程序找不到我的提供者

<system.data>
    <DbProviderFactories>
      <clear />
  </system.data>

此外,指定不同的名称或尝试覆盖相同的名称;也没有效果

<system.data>
    <DbProviderFactories>
      <clear />
      <add name="MySQL Data Provider" invariant="testprovider" description=".Net Framework Data Provider for MySQL"
                       type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.3.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
    </DbProviderFactories>
  </system.data>

不能通过“名称”删除提供程序。您必须使用其“不变”名称将其删除

例如:

<system.data>
  <DbProviderFactories>
    <remove invariant="MySql.Data.MySqlClient" />
    <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.3.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
  </DbProviderFactories>
</system.data>