1

应用程序最初是在 VS 2008 中开发的。它使用 MySQL.data.dll 连接 MySQL 数据库。应用程序在 Windows 中运行良好。

但是生产环境是带有单声道的Debian。

现在将整个解决方案复制到 Debian 框中。整个解决方案在 monodevelop 中正确打开。它不会在构建中引发任何错误。但是在运行时 - 它会引发以下错误 -</p>

正在发送文件…………

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] 
4

2 回答 2

1

信号量(如此处使用的)是仅限 Windows 的功能。我猜你需要一个专门与 Mono 兼容的客户端版本。您可能想查看Mono 站点的 MySQL 部分并从那里开始。

于 2009-09-17T02:57:17.663 回答
1

谢谢。我也可以找到问题。需要最新版本的 MySQL 连接器。在连接字符串中还需要 Pooling=false。

于 2009-09-17T20:52:18.530 回答