1. 程式人生 > >c#連線mysql資料庫時 找不到或無法載入已註冊的 .Net Framework Data Provider

c#連線mysql資料庫時 找不到或無法載入已註冊的 .Net Framework Data Provider

第一步:安裝驅動  mysql-connector-net-6.7.4.msi  

第二步:根據你的專案版本複製mysql-connector-net-6.7.4 安裝目錄下對應版本的dll到專案的bin下的程式啟動目錄  debug 或者realse下面 

比如4.5版本的目錄是在 C:\Program Files (x86)\MySQL\MySQL Connector Net 6.7.4\Assemblies\v4.5下面

第三步:在C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config 增加

<system.data>

<DbProviderFactories>

<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.7.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />

或者再在配置檔案的web下新增引用,PubulishKeyToken 需要跟版本對應。

<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.7.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />

    </DbProviderFactories>

  </system.data>