我知道这个问题已被回答过多次,但似乎没有一个答案可以解决我的问题。
以下是有关我的申请的一些详细信息,
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="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(字符串
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/