Solución:
He visto informes de personas que tienen un nodo adicional con terminación automática en el archivo machine.config. Eliminarlo resolvió su problema. machine.config se encuentra en WindowsMicrosoft.netFrameworkvXXXXConfig
. Podría tener una multitud de archivos de configuración según la cantidad de versiones del marco instaladas, incluidas las variantes de 32 y 64 bits.
<system.data>
<DbProviderFactories>
<add name="Odbc Data Provider" invariant="System.Data.Odbc" ... />
<add name="OleDb Data Provider" invariant="System.Data.OleDb" ... />
<add name="OracleClient Data Provider" invariant="System.Data ... />
<add name="SqlClient Data Provider" invariant="System.Data ... />
<add name="IBM DB2 for i .NET Provider" invariant="IBM.Data ... />
<add name="Microsoft SQL Server Compact Data Provider" ... />
</DbProviderFactories>
<DbProviderFactories/> //remove this one!
</system.data>
Me gustan las otras sugerencias, pero prefiero no actualizar machine.config para una sola aplicación. Le sugiero que lo agregue a web.config / app.config. Esto es lo que necesitaba para usar MySql Connector / NET que “bin” implementé.
<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.6.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
En mi caso, la entrada del proveedor de datos para MySQL “simplemente” faltaba en el archivo machine.config descrito anteriormente (aunque había instalado el conector MySQL correctamente)
<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.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
No olvide poner la versión correcta de su MySQL en la entrada