2017-01-20 5 views
0

これは一般的なエラーだと思われますが、まだ私が見た修正はありません。私は同じモデルとapp.configファイルを持っている私のPC上の2つのVS2015 EF6 "データベースから最初のコード"ソリューションを持っています。彼らは両方とも同じデータベースにアクセスします。 1つは実行され、もう1つはこの例外をスローします。EF6 for MySql InvalidOperationException

Entity Frameworkのプロバイダの種類 'MySql.Data.MySqlClient.MySqlProviderServicesは、MySql.Data.Entity.EF6' は「不変名前のADO.NETプロバイダ のためのアプリケーションの設定ファイルに登録さMySql.Data .MySqlClient 'を読み込めませんでした。 は、アセンブリで修飾された名前が使用され、実行中のアプリケーションでアセンブリが であることを確認してください。詳細については、 http://go.microsoft.com/fwlink/?LinkId=260882を参照してください。例外がpublic virtual IList<NamedDbProviderService> DbProviderServices

からスローされ

Gitリポジトリからソリューションファイルをチェックアウトしないと、この例外別の誘発に1台のPCからの作業ソリューションをコピーしているようです。私が考えることができるのは、NuGetパッケージの復元に何か問題がありますが、パッケージまたはパッケージの設定を削除またはアンインストールして手動で置き換えることで修正できないということだけです。

答えて

0

設定が解析されるとき、MySqlのEFドライバが読み込まれていないようです。メインプログラムに次のコードを追加すると、それが修正されます。

/// <summary> 
    /// Force the MySql.Data.Entity Assembly to be loaded 
    /// or the app.config file will not load 
    /// No need to call this function 
    /// </summary> 
    public static void Fix() 
    { 
     var name = MySql.Data.Entity.MySqlProviderInvariantName.ProviderName; 
    }