この質問には何度も回答されていますが、どの回答も私の問題を解決していないようです。
ここに私のアプリケーションに関するいくつかの詳細があります,
- GoDaddy の MySQL バージョン - 5.0。
- 私のGACのコネクタバージョン、
- MySQL.Data 5.0.9.0
- MySQL.Web 6.6.5.0
- MySQL.Data.CF 6.7.4.0
- ビンにデプロイしたコネクタのバージョン、
- 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 Data Provider が見つかりません。インストールされていない可能性があります。説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。
例外の詳細: System.ArgumentException: 要求された .Net Framework データ プロバイダーが見つかりません。インストールされていない可能性があります。
ソース エラー:
現在の Web 要求の実行中に未処理の例外が生成されました。例外の発生元と場所に関する情報は、以下の例外スタック トレースを使用して特定できます。
スタックトレース:
[ArgumentException: 要求された .Net Framework Data Provider が見つかりません。インストールされていない可能性があります。]
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 フォルダーに配置してデプロイしてみました。- 両方のバージョンの Entity Framework (4.0 と 5.0) を試しました。
注 - DefaultProfileProvider、DefaultMembershipProvider、DefaultRoleProvider、DefaultConnection を使用する DefaultSessionProvider などの他のすべてのセクションを削除しました (DefaultConnection も削除したため)。ローカル マシンでは正常に動作しますが、GoDaddy サーバーでホストされている場合は失敗します。
完全な構成ファイル @ https://gist.github.com/sudarsanyes/6149579を見つけることができます
まだ運がありません。助けてください!これは私を夢中にさせています:(