2016-08-11 1 views
0

J'ai une application WinForms/.Net 4.0 dans Visual Studio 2015 Update 3. Lorsque j'essaie d'ajouter, ou modifier, un TableAdapter dans l'un de mes jeux de données, je reçois cette erreur:Versions incompatibles de MySql.Data.dll dans le projet .Net ne me permettant pas d'ajouter/modifier TableAdapters dans mes DataSets

The wizard detected the following problems when configuring the TableAdapter:

Details:

Generated SELECT statement. [A]MySQL.Data.MySqlClient.MySqlConnection cannot be cast to [B]MySQL.Data.MySqlClient.MySqlConnection. Type A originates from 'MySQL.Data Version 6.9.8.0, Culture=neutral,PublicToken=c5687fc88969c44d' in context 'Default' at location 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies\MySQL.Data.dll'. Type B originates from 'MySQL.Data, Version 6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' in context 'Default' at location 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\MySQL.Data\v4.0_6.9.9.0_c5687fc88969c44d\MySQL.Data.dll'.

de toute évidence, il se plaint de deux versions différentes de la MySQL.Data.dll 6.9.8 et 6.9.9. Ce que je ne comprends pas, c'est pourquoi ou où est-ce qu'il fait référence à la version 6.9.8.0? Si je regarde les références de mon projet, il utilise la version 6.9.9.0 de MySQL.Data.dll. Ceci est un paquet NuGet à l'emplacement:

C: \ Users \ FABS LenovoY70 \ Source \ Workspaces \ Tracker \ Tracker paquets \ \ MySql.Data.6.9.9 \ lib \ net45 \ MySql.Data.dll

J'ai essayé la solution au [A]MySql.Data.MySqlClient.MySqlConnection cannot be cast to [B]MySql.Data.MySqlClient.MySqlConnection mais je n'ai pas fonctionné.

J'ai cherché toute ma solution pour toute référence à 6.9.8 et je n'ai rien trouvé. J'ai été googling pour une solution pour une journée entière maintenant et n'ai rien trouvé qui a fonctionné. :(Des idées pour quelqu'un? Merci ...

Répondre

5

Je rencontre les mêmes problèmes avec VS 2012. Je ne suis pas sûr de savoir comment y remédier, mais après avoir passé pas mal de temps là-dessus, voici ce que je vois .

  1. dans l'ensemble de votre/mon système est à la version 6.9.9.0 mysql.data.dll. Je ne suis pas en mesure de déclasser cela 6.9.8.0 Quand je fais que je crée d'autres problèmes de version avec mysql.data. dll qui semble être insoluble avec mon niveau de connaissance

  2. J'ai chassé toutes les versions 6.9.8.0 de la DLL et les ai supprimées, m'assurant qu'il y avait une version 6.9.9 à sa place. Je l'ai fait, je ne suis pas en mesure d'ajouter une connexion de données à une base de données MySQL. Lorsque j'essaie, j'obtiens l'erreur Une erreur est survenue qui est normalement causée par le fait que Visual Studio n'est pas correctement installé. De plus, aucune des connexions de données précédemment définies ne fonctionne. Ne pas avoir MYSQL-connector-net-6.9.9 installé donne une erreur de "Impossible d'obtenir l'usine du fournisseur pour le fournisseur de données nommé MySql.Data.MySqlClient" et vous n'obtenez même pas l'erreur décrite ci-dessus par le OP.

    1. J'ai essayé différentes versions de connecteur-réseau et cela ne résout pas le problème.

J'ai aucune référence à 6.9.8.0 dans aucun de mes projets, mais bien pour une raison quelconque VS dont il a besoin pour créer les connexions de données.

Mise à jour:

j'ai enlevé MySQL, puis est allé à travers et supprimé tous mysql * .dll et tous les fichiers de configuration. J'ai ensuite utilisé le programme d'installation MySQL 5.7.14 trouvé à http://dev.mysql.com/downloads/installer/

Le programme d'installation a encore installé la version mysql.data.dll 6.9.8.0 et il provoque toujours l'erreur.

Mise à jour: Le problème est avec MySQL Connector/Net. Il utilise la version 6.9.9.0 de la DLL et tout le reste utilise 6.9.8.0 Accédez à votre programme d'installation de la communauté et désinstallez le connecteur/net.Ensuite, passez au https://downloads.mysql.com/archives/c-net/ et obtenez la version 6.9.8 du connecteur/réseau. Installez cela et tout devrait bien se passer. Cela a fonctionné sur mon système.

+0

Rapport de bogue créé avec MySQL. Il peut être trouvé à http://bugs.mysql.com/bug.php?id=82617&thanks=2¬ify=3 – BrownPony

+0

Merci pour la réponse BrownPony! Cela m'a aidé à dépasser l'erreur de connexion DB MySQL. Je souhaite que cette réponse soit acceptée comme "correcte". –

+0

Oui désinstaller 6.9.9 et installer 6.9.8 travaillé pour moi – user1900799

1

La désinstallation de 6.9.9 et l'installation de 6.9.8 ont fonctionné pour moi. J'ai eu des problèmes de désinstallation et j'ai dû utiliser cet outil de Microsoft pour effacer le problème d'installation/désinstallation du connecteur https://support.microsoft.com/en-us/help/17588/fix-problems-that-block-programs-from-being-installed-or-removed Enfin, je devais m'assurer que mysql.data.dll référencé est la version 6.9.8. Je suppose que c'est la seule solution après avoir passé d'innombrables heures de haut en bas.

+0

Oui désinstaller 6.9.9 et installer 6.9.8 a travaillé pour moi aussi – user1900799