我知道这个问题已被回答过多次,但似乎没有一个答案可以解决我的问题。

以下是有关我的申请的一些详细信息,


GoDaddy中的MySQL版本-5.0。
我的GAC中的连接器版本,

MySQL.Data 5.0.9.0
MySQL.Web 6.6.5.0
MySQL.Data.CF 6.7.4.0

我已将bin部署的连接器版本,

MySQL.Data 6.6.5.0
MySQL.Web 6.6.5.0
MYSQL.Data.Entity 6.6.5.0
(我从\ ProgramFiles \ MYSQL \ Connector NET获得了这些版本。)

实体框架5.0 / 4.0(两者都尝试过,仍然没有运气!)
ASP .NET MVC 4


我的配置看起来像这样,

  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
    <DbProviderFactories>
      <add name="MySQL Data Provider"
           invariant="MySql.Data.MySqlClient"
           description=".Net Framework Data Provider for MySQL"
           type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" />
    </DbProviderFactories>
  </entityFramework>
  <connectionStrings>
    <add name="BlogEntities" connectionString="metadata=res://*/Models.BlogEntities.csdl|res://*/Models.BlogEntities.ssdl|res://*/Models.BlogEntities.msl;provider=MySql.Data.MySqlClient;provider connection string=&quot;server=somehost;User id=someuser;pwd=somepassword;database=somedb&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>


我得到的堆栈跟踪

找不到请求的.Net Framework数据提供程序。它可能没有安装。
说明:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中起源的更多信息。

异常详细信息:System.ArgumentException:无法找到请求的.Net Framework数据提供程序。它可能没有安装。

源错误:

当前Web请求的执行期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来标识有关异常的来源和位置的信息。

堆栈跟踪:


  [ArgumentException:无法找到请求的.Net Framework数据
  提供者。它可能没有安装。]
  System.Data.Common.DbProviderFactories.GetFactory(字符串
  providerInvariantName)+1426271
  System.Data.EntityClient.EntityConnection.GetFactory(字符串
  providerString)+27
  
  [ArgumentException:在以下位置找不到指定的商店提供者
  配置,或者无效。]
  System.Data.EntityClient.EntityConnection.GetFactory(字符串
  providerString)+92
  System.Data.EntityClient.EntityConnection.ChangeConnectionString(String
  newConnectionString)+246
  System.Data.EntityClient.EntityConnection..ctor(字符串
  connectionString)+43
  System.Data.Objects.ObjectContext.CreateEntityConnection(字符串
  connectionString)+85
  System.Data.Objects.ObjectContext..ctor(String connectionString,
  字符串defaultContainerName)+16 Foo.Models.BlogEntities..ctor()在
  BlogEntities.Designer.cs:34


这是我已经尝试过的一些东西。
-在DbProviderFactories中,我尝试给出bin部署程序集的完整名称(版本和公共密钥令牌)。
-我尝试将不同版本的MySQL * .dll放入bin文件夹并进行部署。
-我已经尝试了两个版本的Entity Framework(4.0和5.0)。

注意-我已经删除了所有其他部分,例如使用DefaultConnection的DefaultProfileProvider,DefaultMembershipProvider,DefaultRoleProvider,DefaultSessionProvider(因为我也删除了DefaultConnection)。
它在本地计算机上工作正常,但在GoDaddy服务器中托管时失败。

您可以找到完整的配置文件@ https://gist.github.com/sudarsanyes/6149579

仍然没有运气。请帮忙!这真让我抓狂 :(

最佳答案

您可以尝试在连接字符串中用“ UID”替换“用户ID”吗?

关于mysql - 找不到请求的.Net Framework数据提供程序-6.5.5.0 MySQL文件+ GoDaddy,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18040736/

10-12 12:44
查看更多