在DbProviderFactories.GetFactory期间,MySQL连接器失败

问题描述

| 我在使用dotnet框架4的VB.NET类库中的Visual Studio 2010 SP1中使用MysqL .Net Connector版本6.3.6。MysqL.Data使用NuGet安装。这行代码失败:
Dim qdb = Common.DbProviderFactories.GetFactory(\"MysqLClient1\")
出现错误消息“无法找到或加载已注册的.Net Framework数据提供程序。” 如果我使用\“ MysqL.Data.MysqLClient \”进行调用
Dim qdb = Common.DbProviderFactories.GetFactory(\"MysqL.Data.MysqLClient\")
错误变为“无法找到请求的.Net Framework数据提供程序。可能未安装。” 在app.config中,我输入:
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<configuration>
    <system.data>
        <DbProviderFactories>
            <remove invariant=\"MysqLClient1\" />
            <add name=\"MysqL Data Provider\" invariant=\"MysqLClient1\" description=\".Net Framework Data Provider for MysqL\" type=\"MysqL.Data.MysqLClient.MysqLClientFactory,MysqL.Data.MysqLClient\" />
        </DbProviderFactories>
    </system.data>
</configuration>
如何获得MysqL工厂?     

解决方法

要将DbProviderFactory用于MySql客户端,请在配置下面添加
<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\" />
    </DbProviderFactories>
</system.data>
代码用法
using (var conn = MySqlDBConnection.CreateConnection(connString))
{
    // TODO
}



public static DbConnection CreateConnection(string connString)
{
     DbProviderFactory factory = DbProviderFactories.GetFactory(\"MySql.Data.MySqlClient\");
     var conn = factory.CreateConnection();
     conn.ConnectionString = connString;
     return conn;
}