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>