我知道这个问题已被多次回答,但似乎没有一个答案能解决我的问题。
以下是有关我的应用程序的一些详细信息,
- 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(String providerInvariantName) +1426271
System.Data.EntityClient.EntityConnection.GetFactory(String providerString) +27[ArgumentException:在配置中找不到指定的存储提供程序,或者无效。]
System.Data.EntityClient.EntityConnection.GetFactory(String providerString) +92
System.Data.EntityClient.EntityConnection.ChangeConnectionString(String newConnectionString) +246
System.Data.EntityClient.EntityConnection..ctor(String connectionString) +43
System.Data.Objects.ObjectContext.CreateEntityConnection(String connectionString) +85
System.Data.Objects.ObjectContext..ctor(String connectionString, String defaultContainerName) +16 BlogEntities.Designer.cs:34 中的 Foo.Models.BlogEntities..ctor()
这是我已经尝试过的一些东西。- 在 DbProviderFactories 中,我尝试给出 bin 部署程序集的完整名称(版本和公共密钥令牌)。- 我尝试将不同版本的 MySQL*.dll 放入 bin 文件夹并进行部署。- 我尝试了实体框架的两个版本(4.0 和 5.0)。
注意 - 我已经删除了所有其他部分,如使用 DefaultConnection 的 DefaultProfileProvider、DefaultMembershipProvider、DefaultRoleProvider、DefaultSessionProvider(因为我也删除了 DefaultConnection)。它在本地机器上工作正常,但在 GoDaddy 服务器中托管时失败。
你可以找到完整的配置文件@https ://gist.github.com/sudarsanyes/6149579
仍然没有运气。请帮忙!这真让我抓狂 :(