2

我在让 MVC2 Web 应用程序找到 MySQL 连接器时遇到了很多麻烦。我正在运行 CentOS 5。

我已经使用该工具的 2.0 版本将 DLL 安装到 GAC 中

$ mono /usr/local/lib/mono/2.0/gacutil.exe -i v2/mysql.data.dll
Installed v2/mysql.data.dll into the gac (/usr/local/lib/mono/gac)

我确认它更新了 GAC:

$ ls /usr/local/lib/mono/gac/MySql.Data/6.3.5.0__c5687fc88969c44d/mysql.data.dll

运行应用程序时出现以下错误:

未能找到或加载已注册的 .Net Framework 数据提供程序 MySql.Data.MySqlClient

我创建了一个简单的命令行应用程序,描述如下:http ://www.mono-project.com/MySQL ,它可以在我的 Windows 机器上的 Mono 和 .NET 下工作,但不能在我的 Linux 机器上工作。

4

3 回答 3

4

就您添加到 GAC 而言mysql.data.dll,您确定您正在引用它还是可能MySQL.Data.dll?Linux 具有区分大小写的文件系统,因此解决方案中的引用也是如此。

于 2010-10-21T12:28:00.303 回答
2

好的 !请注意:您必须根据下载的连接器/网络版本(在我的情况下为 6.3.7)调整 machine.config 文件。

于 2011-08-29T10:17:53.583 回答
1

有两个问题:

  1. 如前所述,DLL 的外壳。
  2. machine.config 需要更新。我不需要在 Windows 端执行此操作,因为 MySql 提供程序会自动为您执行此操作。

要更新您的 Mono machine.config 文件,您需要找到您的 machine.config 文件。对于 Cent OS,它们位于 (/usr/local/etc/mono/2.0/machine.config)。我刚刚将我的 Windows .NET machine.config 文件中的内容复制到我的单声道文件中,它就可以工作了。

<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.3.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />

于 2010-10-23T19:49:04.557 回答