我有一个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>发布于 2014-10-07 14:22:23
不能通过“名称”删除提供程序。您必须用它的“不变”名称来删除它。
示例:
<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>https://stackoverflow.com/questions/16762671
复制相似问题