Mysql
 sql >> Base de données >  >> RDS >> Mysql

Impossible de charger le fichier ou l'assembly 'Erreur System.Data lors du déploiement de l'application sur la base de données de production

La raison pour laquelle l'exception est levée dès que vous entrez dans la méthode est simple - le compilateur JIT n'a alors qu'à résoudre les références. MySqlConnection nécessite System.Data, et c'est la première méthode à le faire, c'est donc à ce moment que l'exception est levée.

En ce qui concerne le débogage du problème, cela ressemble à un framework .NET mal installé sur la machine cible. Vous devriez essayer Comment activer la journalisation des échecs de liaison d'assembly (Fusion) dans .NET pour voir où .NET essaie réellement de trouver la bibliothèque, et pourquoi il rejette tout ce qu'il trouve.

Si cela ne vous permet pas de résoudre votre problème, j'essaierai de désinstaller et de réinstaller .NET Framework 2.0, puis 3.5.

La raison pour laquelle le type de copie locale fonctionne est que l'application n'essaie pas de charger la DLL à partir du Global Assembly Cache, mais plutôt à partir du répertoire exécutable de votre application. Cependant, votre vrai problème est qu'il ne trouve pas la bonne DLL dans GAC.

Si Fusion vous montre que la bibliothèque MySQL essaie de charger une mauvaise version de System.Data, vous pouvez utiliser un manifeste d'application pour la forcer à charger une version différente (qui devrait, espérons-le, être compatible). Vous pouvez en savoir plus sur les manifestes d'application ici - http:// msdn.microsoft.com/en-us/library/aa374191(VS.85).aspx

Bonne chance.