【系统Configmachine.config与自己的应用程序的App.config/Web.Config配置节点重复】解决方法

自己的应用程序的App.config或Web.Config文件中与
系统的C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Configmachine.config文件
1.重复如下配置:

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

会抛出异常如下:

Exception is: ConfigurationErrorsException - 创建 system.data 的配置节处理程序时出错: 列“InvariantName”被约束为是唯一的。值“MySql.Data.MySqlClient”已存在

 

2.如果两者都不配置,会抛出如下异常:

Exception is: ArgumentException - Can‘t load DbProviderFactory for given value of providerType

 

实际当中,会碰到如下问题:

  有些数据库安装出问题的话,系统的Configmachine.config文件中不会配置

      <add name="MySQL Data Provider2" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />

      由于以上的不确定性,我们在自己应用程序的app/web.config文件中配置这个节点就可能会因重复配置造成异常。

 

解决方法:

在自己应用程序的app/web.config文件中添加这个节点:

      <remove invariant="MySql.Data.MySqlClient"/>节点

即:

【系统Configmachine.config与自己的应用程序的App.config/Web.Config配置节点重复】解决方法
  <system.data>
    <DbProviderFactories>
      <remove invariant="MySql.Data.MySqlClient"/>
      <add name="MySQL Data Provider2" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.My SqlClient.MySqlClientFactory, MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
    </DbProviderFactories>
  </system.data>
【系统Configmachine.config与自己的应用程序的App.config/Web.Config配置节点重复】解决方法

 

 

 

【系统Configmachine.config与自己的应用程序的App.config/Web.Config配置节点重复】解决方法,布布扣,bubuko.com

【系统Configmachine.config与自己的应用程序的App.config/Web.Config配置节点重复】解决方法

上一篇:快速搭建Android 开发环境-使用ADT Bundle


下一篇:Nagios nrpe客户端的安装与配置