Ошибка MySQL.Data.dll в моноразработке в Debian mono

Приложение изначально было разработано в VS 2008. Оно использует MySQL.data.dll для подключения к базе данных MySQL. Приложение отлично работает в Windows.

Но производственная среда — это Debian с моно.

Теперь скопируйте все решение в поле Debian. Все решение открывается в monodevelop правильно. Он не выдает никаких ошибок при построении. Но во время работы - выдает следующую ошибку -

Идет отправка файла..........

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] 

person Community    schedule 17.09.2009    source источник


Ответы (2)


Семафор (как используется здесь) — это функция только для Windows. Я предполагаю, что вам понадобится версия клиента, специально совместимая с Mono. Вы можете просмотреть раздел MySQL на сайте Mono и перейти оттуда.

person bobbymcr    schedule 17.09.2009

Спасибо. Я также мог найти проблему. Нужна последняя версия соединителя MySQL. Также необходимо использовать Pooling=false в строке подключения.

person Community    schedule 17.09.2009
comment
Если ответ, который я дал, был полезен, вы должны проголосовать за него / принять его! :) - person bobbymcr; 18.09.2009