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


    自己的应用程序的App.config或Web.Config文件中与
    系统的C:WindowsMicrosoft.NETFramework64v4.0.30319Configmachine.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"/>节点

    即:

      <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>
  • 相关阅读:
    EF 错误解决
    TortoiseHg 学习笔记 (转)
    Mysql 命令行 使用 (转)
    2017-9-3 时间字符串格式化(转)
    2017-8-25 c# 获取url参数的五种方法(转)
    alert 的使用方法
    表单关键字查询写法
    Mysql和Mysqli的区别
    php MySQL中 增、删、改、查的写法格式
    一维、二维数组 与 常用的返回数组 以及 fetch_all与fetch_row的区别
  • 原文地址:https://www.cnblogs.com/easy5weikai/p/3718047.html
Copyright © 2020-2023  润新知