I have Xamarin Studio running on Mac (Mavericks) and I'm writing some RDBMS-agnostic database code.
I am able to connect to each driver/connector manually/directly by simply instantiating its primary connection class. That works great for all RDBMS types that I've tried so far.
But today I tried incorporating a library called Database Schema Reader and it uses a different mechanism for loading a specified driver/connector. For example, instead of calling new MySqlConnection(params); with a simple connection string of parameters, this library takes a connection string plus a string representation of the name of the provider, eg: "MySql.Data.MySqlClient".
When I try to instantiate thier DatabaseReader object using these 2 parameters, I get:
A System.Configuration.ConfigurationErrorsException was thrown. Failed to find or load the registered .Net Framework Data Provider 'MySql.Data.MySqlClient'.
If I then call DbProviderFactories.GetFactoryClasses() to see what's available, MySQL and PostgreSQL are not listed (but, again, both are present in the references settings and can be used directly just fine in the same project).
Oracle, SQL Server, Sybase, ODBC, and SQLite all show up, but not MySQL/PostgreSQL. It's worth noting that these 2 are the only ones whose references must be added from files. The others are available from the standard list in Xamarin Studio.
I've tried resetting the provider factories cache and I've tried adding (in addition to mysql.data.dll) mysql.data.entity.dll and mysql.web.dll.
Anything else I can try?