2017-10-18 4 views
0

J'ai développé un projet MVC en utilisant VS2015 avec MySQL comme base de données.
J'ai téléchargé le projet sur azure pour le tester et j'ai créé une copie de ma base de données MySQL en azur aussi.
Cependant, quand j'ai essayé d'ouvrir le site Web j'ai eu cette erreur:Problème avec MySQL Connector Casting

[A]MySql.Data.MySqlClient.MySqlConnection cannot be cast to [B]MySql.Data.MySqlClient.MySqlConnection. Type A originates from 'MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' in the context 'Default' at location 'D:\Windows\Microsoft.Net\assembly\GAC_MSIL\MySql.Data\v4.0_6.5.4.0__c5687fc88969c44d\MySql.Data.dll'. Type B originates from 'MySql.Data, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' in the context 'Default' at location 'D:\local\Temporary ASP.NET Files\root\0b5c8b85\f7b6d016\assembly\dl3\b34b00a3\00f26175_a4c8d101\MySql.Data.dll'. 


ce problème survient chez des azur, mais l'application fonctionne localement. J'ai compris cela, le problème est dû à la version MySQL du connecteur/net installé dans azure.
Quelqu'un peut-il m'aider à résoudre ce problème?
J'ai trouvé un code à ajouter dans le fichier .config mais il ne contournait que l'erreur, ce qui n'est pas utile pour moi.

Solution
inscrire dans le fichier web.config

<system.data> 
    <DbProviderFactories> 
    <remove invariant="MySql.Data.MySqlClient" /> 
    <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> 
+0

Pouvez-vous publier les sections de votre fichier .config où vous avez configuré MySql? – Isma

+0

bien sûr, je vais modifier la question @Isma –

+0

Qu'en est-il de la section , pouvez-vous poster aussi bien? – Isma

Répondre

0

essayer de mettre à jour le paquet dans les deux endroits. ressemble à une simple différence de version pour me

0

Vous utilisez les différentes versions de la DLL MySql.Data - (il est à l'exception) Version = 6.5.4.0 et Version = 6.9.9.0

Modifier votre fichier de configuration pour utiliser 6.5.4.0 (il spécifie actuellement 6.9.9.0).

+0

bien ne serait pas potentiellement causer d'autres erreurs? Probablement pas à partir d'une simple connexion, mais à un moment donné, les structures d'objet ou les valeurs de retour ou autre diffèrent et cela va gâcher quelque chose. mise à jour serait la meilleure chose à faire imo – lenny

+0

oui je l'ai fait. merci Mark –