Tengo un proyecto A en visual studio 2008 en vb fmk 2.0
Luego tengo el mismo proyecto B en visual studio 2010 C# fmk 4.0 (lo estoy migrando)
EL original (2008) trabaja con MySql. En su día instale 'mysql-essential-6.0.11-alpha-win32' para poder recupera el Factory de esta manera:
Public Shared FactoryBBDD As DbProviderFactory = DbProviderFactories.GetFactory("MySql.Data.MySqlCl ient")
En el de 2008 funciona pero en el de 2010 me salta este error:
"No se encuentra el proveedor de datos .NET Framework solicitado. Puede que no esté instalado."
Ha través de 'System.Data.Common.DbProviderFactories.GetFactory Classes' obtengo los factorys instalados y en 2008 me muestra 6 pero en 2010 me muestra 5 (falta el Mysql)
He reinstalado el 'mysql-essential-6.0.11-alpha-win32' pero sigue el error
Alguien sabe?
------
Lo he solucionado pero de la manera menos 'limpia' . Resulta q en machine.config de fmk 2.0 tengo
<system.data>
<DbProviderFactories>
<add name="Odbc Data Provider" invariant="System.Data.Odbc" description=".Net Framework Data Provider for Odbc" type="System.Data.Odbc.OdbcFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<add name="OleDb Data Provider" invariant="System.Data.OleDb" description=".Net Framework Data Provider for OleDb" type="System.Data.OleDb.OleDbFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<add name="OracleClient Data Provider" invariant="System.Data.OracleClient" description=".Net Framework Data Provider for Oracle" type="System.Data.OracleClient.OracleClientFactory , System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<add name="SqlClient Data Provider" invariant="System.Data.SqlClient" description=".Net Framework Data Provider for SqlServer" type="System.Data.SqlClient.SqlClientFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<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.3.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
<add name="Microsoft SQL Server Compact Data Provider" invariant="System.Data.SqlServerCe.3.5" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory , System.Data.SqlServerCe, Version=3.5.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/></DbProviderFactories>
</system.data>
PEro en machine.config de 4.0 solo tengo
<DbProviderFactories>
<add name="Microsoft SQL Server Compact Data Provider" invariant="System.Data.SqlServerCe.3.5" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory , System.Data.SqlServerCe, Version=3.5.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
Así que le copiado la cadena de Mysql y ya funciona
Lo que no me explico es pq. el 'mysql-essential-6.0.11-alpha-win32' no es capaz de registrarlo en fmk 4.0...?? HAy q instalar algo extra?
GRacias