Visual Studio 2013でC#/ Webプロジェクトにedmxエンティティモデルを追加しようとしています。私の問題は、ファイルが作成されないことです。
次の手順を実行します。
edmxファイルは作成されません。(ただし、SQL Serverでは動作しますが、MySQLでは動作しません)
Entity Framework 6.1.2
がインストールされ、MySql.Data
、MySql.Data.Entities
、MySql.Data.Entity
、MySql.Web
がすべてインストールされています。
エンティティモデルファイルを追加する前に、プロジェクトを再構築しました。
最新の.NET connector
で最新のMySQLパッケージをインストールしました。
実行中:Windows 7上のVisual Studio 2013。
これを解決する方法はありますか?
以下の手順に従ってこの問題を解決しました。
パッケージマネージャーコンソールで以下のコマンドを使用して、Nugetから_MySql.Data.Entities
_をアンインストールします。_Uninstall-Package MySql.Data.Entities
_
MySqlコネクターのインストールパスから、最新の_MySql.Data.Entity.EF6.dll
_へのプロジェクト参照を追加します:C:\Program Files (x86)\MySQL\MySQL Connector Net 6.9.8\Assemblies\v4.5
MySQL、ADO.NET(Database First)、EF6を使用してVisual Studio Professional 2017環境を構成しようとしたときに、同じ状況が発生しました。
注:同じ順序で手順に従ってください。
「Connector/NET」および「MySQL for Visual Studio」がインストールされている場合はアンインストール/削除します。
「MySQL for Visual Studio」v2.0.5 CTPをインストールします( MySQL for Visual Studio )。注:Connector/NETの前にVisual Studio用のMySQLをインストールしてください。
「Connector/NET」v6.9.10( Connector/Net )をインストールします。 https://i.stack.imgur.com/XOT1I.jpg 注:最初にConnector/NET v6.8、v6.10、v8を使用してみましたが、Visual Studio 2017で動作しませんでしたおよびADO.Net。 ここでは、すべてのコネクタバージョンとVisual Studio IDEとの互換性を確認できます ですが、これまでのところこのリストは不正確です。
新しいVisual Studio Professional 2017プロジェクトを作成します。
[プロジェクト]タブ/ [NuGetパッケージの管理]/[参照]-> [エンティティフレームワーク]に移動して、NuGetから「EntityFramework」v6.2.0をダウンロードしてインストールします。
C:\Program Files (x86)\MySQL\Connector.NET 6.9.10\Assemblies\v4.5\MySql.Data.dll
およびC:\Program Files (x86)\MySQL\Connector.NET 6.9.10\Assemblies\v4.5\MySql.Data.Entity.EF6.dll
;への参照を追加します。ソリューションエクスプローラー内の[参照]を右クリックし、[参照の追加/参照]-> [参照]ボタンを選択します。
次のように、エンティティフレームワークプロバイダーの下のApp.config内にMySQL EF6プロバイダー情報を追加します。
<entityFramework>
<providers>
<provider invariantName="MySql.Data.MySqlClient"
type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
</providers>
</entityFramework>
以上です。 VS2017は準備ができています。今日のように、これがすべての人に役立つことを願っています。
参照:
VS 2015にはまだこのバグがあります。バージョンの不一致が原因です。
私のシステムでは、MySQL Connector 6.9.6がありました。
NuGetパッケージマネージャーコンソールでコマンドを発行します。
Install-Package MySql.Data.Entity
デフォルトでバージョン6.9.8をインストールします。コネクタは、NuGetパッケージの実際のバージョンと一致する必要があります。
次の場所からコネクタの更新バージョンをダウンロードできます。 https://www.mysql.com/products/connector/
ここで「MySQL用のAdo.netドライバー」を選択し、対応するバージョン(この場合は6.9.8)をダウンロードします。 Visual Studioを再度開くと、ウィザードはクラッシュしません。再起動は必要ありません。
以下を実行することで、この問題を解決できました。
他の回答からNuGetのバージョン管理に関する提案を受け取ります。 Nugetによってインストールされた_.Data
_および_Data.Entitiy.EF6
_を削除することにより、この問題を解決しました。
次に、「参照」を右クリックして、以下を参照します。
C:\Program Files (x86)\MySQL\Connector.NET 6.9\Assemblies\v4.5\MySql.Data.dll
およびC:\Program Files (x86)\MySQL\Connector.NET 6.9\Assemblies\v4.5\MySql.Data.Entity.EF6.dll
その後、.edmxモデルを使用してADO.Netウィザードを完了することができました。
私は解決策を知っています。
Nugetは、MySQL.Data。*パッケージのEdgeバージョンをインストールしますが、おそらく以前のバージョンのコネクタがあります(私の場合、パッケージはv。6.9.6で、Connectorは6.9.5でした)。これにより、バージョンが一致しなくなります。
NuGetでInstall-Package MySql.Data.Entitiesを使用すると、6.8などの古いバージョンも取得されることに注意してください。 3、参照を自分で追加し、ソリューションに追加しようとしている参照を監視する必要があります。
これは、app.configファイルを持たないASP.NET MVCアプリケーション用です。私は失敗した試みを数えませんが、私のために働いたのは以下でした:-
<provider invariantName = "MySql.Data.MySqlClient" type = "MySql.Data.MySqlClient.MySqlProviderServices、MySql.Data .EntityFramework">
他の「<provider invariantName = "MySql.Data.MySqlClient" ...」行を削除するかコメント化します。
プロジェクトをリビルドします。
ウィザードをもう一度使用してください。
私にとってこれはうまくいきました。
がんばろう!
MySQL Connector 6.9.8.0を使用しても同じ問題が発生しました。すべてのバージョンが一致しましたが、これはまだ失敗しました。 MySQLコネクタの後にVisual Studioの新しいバージョンをインストールしました(2010〜2013)。私にとっての解決策は、MySQL Connector for NETをアンインストールしてから再インストールすることでした(まったく同じバージョン)。次に、Visual Studioを再起動します。
これは同じ問題の別のバージョンのようです。
あなたはこの解決策を行うことができます:
それは私のために働いています:)
MySqlのバージョン6からバージョン8.0.17.0にアップグレードすると、この問題に遭遇しました。私は この記事 に出会うまで、古い治療法のすべてを試してほぼ2日間これに苦労しました。 EF6およびバージョン8.0を使用している場合。この投稿によると、MySqlの:
Oracleは、v8.xのパッケージの名前をMySql.Data.EntityFrameworkに変更しました。 MySql.Data.Entityをアンインストールして、MySql.Data.EntityFrameworkをインストールする必要があります。
この新しい投稿があなたの一部を助けることを願っています。
Web.configファイルを次から変更しました:
<provider invariantName = "MySql.Data.MySqlClient" type = "MySql.Data.MySqlClient.MySqlProviderServices、MySql.Data.EntityFramework、Version = 8.0.11.0、Culture = neutral、PublicKeyToken = c5687fc88969c44d" />
に:
<provider invariantName = "MySql.Data.MySqlClient" type = "MySql.Data.MySqlClient.MySqlProviderServices、MySql.Data.Entity.EF6"> </ provider>
試すべきもう一つのこと:
---> nuget経由でentityframework 6.2.0をインストールします。
---> web.config/app.configファイルで_System.Data.SqlServerCe.4.0
_プロバイダーがあることを確認します。インストールされていない場合は、以前にインストールしたエンティティフレームワークとまったく同じバージョン(この場合は6.2.0)であるnugetを使用してインストールします。
--->次に参照を追加します:(この場合、connector/NETバージョン6.9.10から)C:\Program Files (x86)\MySQL\Connector.NET 6.9\Assemblies\v4.5\MySql.Data.dll
およびC:\Program Files (x86)\MySQL\Connector.NET 6.9\Assemblies\v4.5\MySql.Data.Entity.EF6.dll
および再構築します。
--->このプロバイダーも追加してみてください:_<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
_再構築。
--->最後に、新しい接続で.edmxファイルを追加してみてください。
これは、VS2017とMySQLを新しいラップトップにインストールした私の場合に機能し、同じ問題がありました。