WebSurfer's Home

トップ > Blog 1   |   Login
Filter by APML

TableAdapter 構成ウィザードで不具合(その 2)

by WebSurfer 21. April 2020 10:40

最新版の MySQL 8.0.19 をインストールしましたが(下の画像参照)、2 年前にインストールした MySQL 5.7.17 と同様に、依然として MySql.Data.dll のバージョン不一致が原因で Visual Studio の TableAdapter 構成ウィザードに不具合が出るという問題がありましたので備忘録として書いておきます。

MySQL 8.0.19

MySQL 5.7.17 時の問題とその解決方法は先の記事「MySQL での TableAdapter 構成ウィザード不具合」で書きました。それと同じ MySQL for Visual Studio と Connector/NET の MySql.Data のバージョン不一致による問題です。

ただし、何故か Visual Studio Community 2019 v16.5.4 では問題なく、Visual Studio Community 2015 Update 3 だけで問題が出ました。(注:VS2017 は自分は持っていないので不明です。VS2010 は MySQL 8.0.19 のサポート対象外のようなので試してません)

下の画像は VS2015 で TableAdapter 構成ウィザードを使って型付 DataSet / DataTable + TableAdapter を作成しようとしたとき時、最後のステップで表示されたエラーメッセージです。

TableAdapter 構成ウィザード

上のエラーメッセージは、VS2015 のウィザードが使う MySql.Data.dll のバージョン 8.0.18 と、GAC の MySql.Data.dll のバージョン 8.0.19 に不一致があって、それが原因でキャストに失敗したと言っています。ちなみに、前者は MySQL for Visual Studio、後者は Connector/NET によりインストールされたものです。

この問題は、先の MySQL 5.7.17 時と同様に、MySQL Installer(この記事の一番上の画像のもの)を操作して、Connector/NET のバージョンを 8.0.19 から 8.0.18 に下げることで解決できます。

しかしながら、VS2015 での問題を解決するために Connector/NET のバージョンを 8.0.19 から 8.0.18 に下げると、今度は VS2019 から MySQL に接続できなくなるという問題が出ます。

Connector/NET のバージョンを 8.0.18 に下げた後、VS2019 から MySQL の接続を作成する際、以下の画像のように「データソースの選択」ダイアログで[MySQL Database]を選択すると、

データソースの選択

下の画像のように、MySQL for Visual Studio が "An error occurred that is normally caused by not having for Visual Studio properly installed." というエラーメッセージを表示します。

MySQL for Visual Studio のエラーメッセージ

このエラーを無視して先に進めると、下の画像のように VS2019 が MySql.Data.dll 8.0.19.0 が見つからないというエラーメッセージを表示して MySQL への接続に失敗します。

VS2019 のエラーメッセージ

この問題を解決する方法は、Connector/NET のバージョンを 8.0.19 に戻すことです。ただし、そうすると、再び、VS2015 で TableAdapter 構成ウィザードを利用する際に MySql.Data.dll のバージョン不一致の問題が出ますが。

何故 VS2015 と VS2019 ではこのような違いが出るのかは不明です。MySQL 8.0.19 インストーラーのデフォルト設定で VS2015 / VS2019 の Common7\IDE\PrivateAssemblies フォルダにある MySql.Data.dll のバージョンは 8.0.18 で、GAC にある MySql.Data.dll のバージョンは 8.0.19 と異なるのですが・・・

というわけで、VS2019 から MySQL に接続したり TableAdapter 構成ウィザードを利用するためには Connector/NET のバージョンは 8.0.19(デフォルト)のままとしておき、VS2015 での TableAdapter 構成ウィザードの利用は諦めざるを得ないようです。(注:VS2017 は自分は持ってないので不明です)

Tags: ,

MySQL

About this blog

2010年5月にこのブログを立ち上げました。その後 ブログ2 を追加し、ここは ASP.NET 関係のトピックス、ブログ2はそれ以外のトピックスに分けました。

Calendar

<<  July 2020  >>
MoTuWeThFrSaSu
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

View posts in large calendar