Tip: Solución a Failed to find or load the registered .Net Framework Data Provider ‘MySql.Data.MySqlClient’

Este error me ocurrió el día de hoy cuando intentaba usar una dll de acceso a datos que me paso un amigo para un proyecto en el cual estamos trabajando juntos, estamos usando Mono en Mac y como servidor de pruebas Ubuntu 9.4 con Mono, MySQL en ambos.

El mensaje de error que me dio al intentar probar las conexiones con la base de datos fue:

Failed to find or load the registered .Net Framework Data Provider 'MySql.Data.MySqlClient'

La solución la encontre en las listas de Mono-dev, y fue simplemente agregar las referencias exactas para el ensamblado de MySQL, en el archivo Web.Config o App.Config hay que agregar lo siguiente dentro de las etiquetas <configuration> … </configuration>

  	<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=5.2.1.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
		</DbProviderFactories>
	</system.data>

Cabe notar que en la maquina donde estoy trabajando, tengo instalado MySQL y agregue como referencia la dll del conector de MySQL (MySql.Data.dll).

Ojalá a alguien le sirva.

5 thoughts on “Tip: Solución a Failed to find or load the registered .Net Framework Data Provider ‘MySql.Data.MySqlClient’

  1. Sin embargo cuando lo compilo con .net en windows me da un error diciendo que el invariant debe se unico, sabes si hay alguna forma de hacerlo condicional en función de si es .net o mono ?

  2. No deberías tener ese tipo de problemas, posiblemente la version de MySqlClient sea diferente en .NET y Mono, en caso contrario esta mal cargado el ensamblado.

  3. Yo soy nuevo en esto, y es mi primera coneccion mysql (en servidor remoto). Agregando estas lineas y cambiando solo el numero de version a 6.3 me da este error:

    Failed to find or load the registered .Net Framework Data Provider.

  4. Oh! Poniendo version 6.3.6.0 si funcionó! La conseguí viendo los nombres de los archivos en una carpeta de windows (no se por que muestra esa informacion extra, pero en fin, el numero de version vale).

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>