1 votes

Erreur MySQL.Data.dll dans monodevelop sous Debian mono

L'application a été initialement développée en VS 2008. Elle utilise MySQL.data.dll pour se connecter à la base de données MySQL. L'application fonctionne parfaitement bien sous Windows.

Mais l'environnement de production est Debian avec mono.

Maintenant, copiez la solution entière dans la boîte Debian. La solution entière s'ouvre correctement dans monodevelop. Il n'y a pas d'erreur dans la construction. Mais lors de l'exécution - elle jette l'erreur suivante -

L'envoi du fichier est en cours..........

Error: System.EntryPointNotFoundException: CreateSemaphore
  at (wrapper managed-to-native) MySql.Data.Common.Semaphore:CreateSemaphore (MySql.Data.Common.SECURITY_ATTRIBUTES&,int,int,string)
  at MySql.Data.Common.Semaphore..ctor (Int32 initialCount, Int32 maximumCount) [0x00000] 
  at (wrapper remoting-invoke-with-check) MySql.Data.Common.Semaphore:.ctor (int,int)
  at MySql.Data.MySqlClient.MySqlPool..ctor (MySql.Data.MySqlClient.MySqlConnectionString settings) [0x00000] 
  at MySql.Data.MySqlClient.MySqlPoolManager.GetPool (MySql.Data.MySqlClient.MySqlConnectionString settings) [0x00000] 
  at MySql.Data.MySqlClient.MySqlConnection.Open () [0x00000]

2voto

Merci. J'ai également pu localiser le problème. Il faut la dernière version du connecteur MySQL. Il faut aussi mettre Pooling= false dans la chaîne de connexion.

0voto

bobbymcr Points 14916

Le sémaphore (tel qu'utilisé ici) est une fonctionnalité réservée à Windows. Je suppose que vous aurez besoin d'une version du client qui est spécifiquement compatible avec Mono. Vous pouvez regarder le Section MySQL du site Mono et partir de là.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X