【发布时间】:2013-08-04 07:28:38
【问题描述】:
我知道这个问题已被多次回答,但似乎没有一个答案能解决我的问题。
这里有一些关于我的申请的细节,
- 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.. 获得这些版本。)
- Entity Framework 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="server=somehost;User id=someuser;pwd=somepassword;database=somedb"" 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(字符串 提供者字符串)+92
System.Data.EntityClient.EntityConnection.ChangeConnectionString(字符串 新连接字符串)+246
System.Data.EntityClient.EntityConnection..ctor(字符串 连接字符串)+43
System.Data.Objects.ObjectContext.CreateEntityConnection(字符串 连接字符串)+85
System.Data.Objects.ObjectContext..ctor(字符串连接字符串, String defaultContainerName) +16 Foo.Models.BlogEntities..ctor() in BlogEntities.Designer.cs:34
这里有一些我已经尝试过的东西。 - 在 DbProviderFactories 中,我尝试给出 bin 部署程序集的完整名称(版本和公钥)。 - 我尝试将不同版本的 MySQL*.dll 放入 bin 文件夹并进行部署。 - 我尝试了实体框架的两个版本(4.0 和 5.0)。
注意 - 我已经删除了使用 DefaultConnection 的所有其他部分,例如 DefaultProfileProvider、DefaultMembershipProvider、DefaultRoleProvider、DefaultSessionProvider(因为我也删除了 DefaultConnection)。 它在本地机器上运行良好,但在 GoDaddy 服务器上托管时失败。
可以找到完整的配置文件@https://gist.github.com/sudarsanyes/6149579
仍然没有运气。请帮忙!这让我抓狂:(
【问题讨论】:
标签: mysql asp.net-mvc-4 entity-framework-4 entity-framework-5 mysql-connector