2017-11-09 6 views
0

新しいMySqlデータベース接続を追加しようとしています。 MySql.Dataの私のバージョンは6.9.9.0で、私のEFModelプロジェクトのapp.configとプロジェクトのNuget Package Managerで参照されています。新しいデータベース接続を追加しようとすると、Eroor "ファイルまたはアセンブリMySql.dataをロードできませんでした"

私はそれをテストするとき、私のサーバーとの接続が十分に確立されているが、私は、「OK」をクリックしたときにエラーが表示されます。

"Could not load file or assembly 'MySql.data, Version=6.9.8.0, Culture=Neutral, PublicKeyToken=BigNumber' or one of his dependencies. The found definition of the assembly's manifest doesn't correspond to the reference of the assembly."

問題は、このバージョンは、私の溶液中で書いていないことですどの設定ファイルでも。ここで

は私のapp.configファイルです:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <configSections> 
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> 

    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --></configSections> 
    <entityFramework codeConfigurationType="MySql.Data.Entity.MySqlEFConfiguration, MySql.Data.Entity.EF6"> 
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> 
    <providers> 
     <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" /> 
    </providers> 
    </entityFramework> 
    <connectionStrings> 
    <add name="UphairDbEntities" connectionString="metadata=res://*/DbModel.csdl|res://*/DbModel.ssdl|res://*/DbModel.msl;provider=MySql.Data.MySqlClient;provider connection string=&quot;server=***;user id=***;password=***;database=***&quot;" providerName="Mysql.Data.MysqlClient" /> 
    </connectionStrings> 
    <startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> 
    </startup> 
    <system.data> 
    <DbProviderFactories> 
     <remove invariant="MySql.Data.MySqlClient" name="MySQL Data Provider" /> 
     <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> 
    </DbProviderFactories> 
    </system.data> 
    <runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-6.8.3.0" newVersion="6.8.3.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="EntityFramework" publicKeyToken="b77a5c561934e089" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> 
     </dependentAssembly> 
    </assemblyBinding> 
    </runtime> 
</configuration> 

私は3日間、この上で苦労していますが、私が見つけたすべての問題がなかったので、SOまたはインターネットで任意のソリューションまたは関連する問題を見つけることができませんでした新しい接続をデータベースに追加することや、app.configに記載されていないエラーに表示されるバージョンについては私の場合です。私は本当にこれを引き起こす原因を理解していません。

助けてください! :/

+0

、私は、さらに少ない有用なエラーを取得しています。 MySql.Data.MySqlClient.MySqlProviderServices、MySql.Data.Entity、Version = 6.10.5.0、Culture = neutral、PublicKeyToken = c5687fc88969c44d実際のエラーメッセージはありません。プロジェクト名とファイルだけです。これは、Visual Studioの最近のバージョンではかなり典型的なようです。実際に問題を診断するのに役立つものではなく、問題の症状に関連する「エラー」を与えます。私の場合は、EFでMySqlを使用して、移行するために従来のデータベースからデータを取得しています –

+0

オンラインでさらに調査した結果、問題の原因は2つありました。(1)問題はEntity Framework 6.2 (2)MySql.Data v6.10.5および/またはMySql.Data.Entity v6.10.5を使用していたこと。両方のバージョンの変更を試した後、私は今、後者がそうであることを確立しました。 EFを6.1にダウングレードし、MySql DLLをv6.10.5(または6.10.4)にした場合、私のソフトウェアは動作しませんでした。しかし、両方のMySqlパッケージを6.9.10にダウングレードすると、EF 6.1または6.2の実用的なソリューションが得られました。 –

+0

しかし、VSのエラーについての私の意見は立っています。私は過去1年かそこらで、何かが構築されたり展開されなかったときに出てくるエラーが問題の根本的な原因を診断するのを助けるのに役に立たない場面が数多くありました。 Googleとスタックオーバーフローのようなサイトではない場合、私はしばしば完全に海であり、手がかりは全くありません。これは、たくさんのお金を要するIDEのためには良い場所ではありません。 –

答えて

0

Conflicting versions of MySql.Data.dll in .Net project not allowing me to add/edit TableAdapters in my DataSets

私はちょうど私の答えの上部にある重複したリンクで説明したように、その後6.9.8.0バージョンをインストールするのMySQLコネクタ6.9.10をアンインストールしなければならなかったと私は新しいを追加する必要がありましたしませんでした[DUPLICATE] 2つの接続されたプロジェクトのための私の拠点はうまく表示されました!

MySql Connectorの以前のバージョンのこのリンクは、私によれば、見つけたお尻の痛みです!

しかし、今、私はとても安心だし、これは一部の人を助けることを願っ:私は私のソリューションをビルドしようとすると何が価値があるためにD

0

多く検索しません。ロードしようとしているアセンブリが、application.configファイルで参照されているもののバージョンと一致していないことを示しています。

は、ここに別の質問を参照するには、次の

The .NET Assembly loader is unable to find 1.2.0.203, but did find a 1.2.0.200. This assembly does not match what was requested and therefore you get this error. In simple words, it can't find the assembly that was referenced. Make sure it can find the right assembly by putting it in the GAC or in the application path.

The located assembly's manifest definition does not match the assembly reference

これは、他の回答にリンクされている:助けThe located assembly’s manifest definition with name xxx.dll does not match the assembly reference

希望を。

+0

私の最初の投稿で言われたように、これはロードしようとしている良いバージョンではありません。このバージョンは私のapp.configで見ることができるように私の設定ファイルにはありません。最初の投稿。私はビジュアルスタジオに6.9.9.0をロードしたいと思っています。なぜなら、いくつかのあいまいな理由で6.9.8.0をロードしたいからです。何か案が ? –

+0

私は、あなたがそれについて全く言及していないと確信していますか? Visual Studioやグローバルアセンブリキャッシュで参照を確認できますか?間違ったバージョンをどこかからピックアップする必要があります。興味のないものは過去に6.9.8.0を使っていましたが、プロジェクトの "bin"と "obj"フォルダもチェックしてクリアします。 –

+0

binとprojディレクトリはどこにありますか? –

関連する問題