Here is where we stand, as best as I can tell:
1) .NET, by default looks for the specific version of a reference that EntitySpaces is compiled against. We have "Specific Version" set to false, but that is a compile directive, not a runtime directive.
http://msdn2.microsoft.com/en-us/library/51ket42z(vs.71).aspx
2) We do not implement publisher policy. This lets you do assembly redirection in your config file. But, that still is linked to the Public Key Token for MySQL Connector. You can run against a different version of the assembly, but not a completely different assembly.
3) MySQL Connector does not support medium trust without recompiling. MySQL, obviously, is not going to publish the snk file, so the new assembly is going to have a new Public Key Token, which will not work with EntitySpaces, or with assembly redirection.
4) MySQL's license prohibits us, as commercial vendors, from taking their source, compiling, and distributing our own medium trust enabled Connector.
5) We are not going to give away source because a specific database vendor does not implement a specific EntitySpaces feature, or because a specific Web host does not allow running under full trust. We do have source available for purchase.
6) We have plans for user defined providers, but that is going to be months down the road.
7) We are open to suggestions. For example, there are pre-compiled MySQL Connectors available on the Web that support medium trust. If our MySQL users could agree on a single, trusted, alternative assembly, we could easily add a second EntitySpaces MySqlClientProviderMT that was linked to that assembly.
Any ideas?
David Neal Parsons
www.entityspaces.net