升级MySQL连接器/networking

我正试图与我们的托pipe服务提供商发布一个网站。 我得到的错误,因为他们只允许一个中等信任和我使用的MySQL连接器/networking需要reflection的工作。 不幸的是,反思是不被允许在一个中等的信任。

经过一番研究,我发现最新版本的MySQL Connector / Net可以解决这个问题。 Connector / Net 6.6包含对部分信任支持的增强,允许托pipe服务部署应用程序,而无需在GAC中安装连接器/networking库。 我想这会解决我的问题。

所以,我unistalled MySQL连接器/networking6.4.4和我安装MySQL连接器/networking6.6.4。

当我在Visual Studio 2010中运行应用程序时,出现错误:

ProviderIncompatibleException was unhandled by user code 

消息是

An error occurred while getting provider information from the database. This can be caused by Entity Framework using an incorrect connection string. Check the inner exceptions for details and ensure that the connection string is correct.

InnerException是

 The provider did not return a ProviderManifestToken string. 

一切正常,当我有连接器/networking6.4.4安装。 我可以访问数据库并对其执行读/写/删除操作。

我在项目中提到以下内容:

  • MySql.Data
  • MySql.Data.Entity
  • MySql.Web

我在Web.config中的连接string

 <connectionStrings> <add name="AESSmartEntities" connectionString="server=ec2-xxx-xx-xxx-xx.compute-1.amazonaws.com; user=root; database=nunya; port=3306; password=xxxxxxx;" providerName="MySql.Data.MySqlClient" /> </connectionStrings> 

我可能会做错什么? 我是否需要任何额外的设置来使用旧版本6.4.4中不需要的版本6.6.4?

我也有这个问题发布在MySQL论坛上。 这是我收到的答复:

您正确的说,连接器/networking不需要在GAC中与中等信任一起工作,但是这有一些限制。 对于entity framework的情况,我们的驱动程序需要Reflection,就像你提到的那样,以便被注册为提供者。 所以没有这个权限就不能使用。 您只需将此反映权限添加到您的策略的成员访问或在GAC中安装驱动程序。

我们正在寻找其他方式来注册entity framework的提供者。 到目前为止连接器可以使用ADO.Net中等信任但尚未EF。 如果没有GAC for Medium Trust,我们会尽快通知您。