zoukankan      html  css  js  c++  java
  • How to fix Column 'InvariantName' is constrained to be unique 解决办法!

    Introduction 

    When you build a web project that uses Enterprise Library Community for the Application Data Block and the MySQL .NET / Connector, VisualStudio throws the error  "Column 'InvariantName' is constrained to be unique. Value 'MySql.Data.MySqlClient' is already present", but you added it only once. 

    Is very simple to fix, you need to add "<remove invariant="MySql.Data.MySqlClient"></remove>" to the start of system.data > DbProviderFactories node. 

     Background

    You can be confused if you used XML transform for Web.Config, Web.Debug.Config or Web.Release.Config.

    But you shouldn't focus in that. The problem is the provider's installation put in machine.config the childNode<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" and normally you put the same manually in your web.config file. So at the compiling time, when web.config heritates maching.config, it results in duplicate "add" child with the same invariant attribute, with the value "MySql.Data.MySqlClient" .

    The examples of use around Internet and the tutorials of ELContrib Application Data Block add the DbProviderFactories node to System.Data element. It suposes that the MySQL .NET/Connector aren't installed in system. It suposes the mysql.data.dll is referenced in any directory and the configuration isn't heritated frommachine.config

    Using the code 

    Your XML block must be like this to solve the problem: 

      <system.data>
        <DbProviderFactories>
          <remove invariant="MySql.Data.MySqlClient"></remove>
          <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.2.4.0, Culture=neutral" />
        </DbProviderFactories>
      </system.data> 

    Remember to add <remove invariant="MySql.Data.MySqlClient"></remove> at the start of DbProviderFactories.

  • 相关阅读:
    单片机 C语音开发 sbit使用方法··
    android笔记JSON数据解析
    android软键盘挡住输入框问题解决方法
    android学习
    View.setTag()与View.getTag()的作用
    【Android学习专题】数据存储篇:SharedPreferences/Files/SDCard
    android完美退出程序
    Looper.prepare()
    各种Adapter的用法
    android 界面布局 很好的一篇总结 【转】
  • 原文地址:https://www.cnblogs.com/mschen/p/4595545.html
Copyright © 2011-2022 走看看