【问题标题】:Why does MySql Connector.Net work on my Windows box but not on Mono?为什么 MySql Connector.Net 可以在我的 Windows 机器上工作,但不能在 Mono 上工作?
【发布时间】:2011-09-22 14:27:46
【问题描述】:

我已经安装了 Mono(2.10.2 版)mod_mono,并且已经成功地使用 index.html 和 index.aspx 对它进行了测试。

我的问题是我无法让 MySQL 与 Mono 一起使用;

我已经下载了 mysql-connector-net-6.4.3-noinstall.zip 文件, 将 dll 重命名为 MySql.Data.dll,(来自 v2 文件夹)

我已经安装了gacutil -i MySql.Data.dll 并编辑了两个 machine.config 文件(适用于 2.0 和 4.0)添加以下内容:

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

然后我编辑了 web.config 文件以确保 PublicKeyToken 是小写的。

我的索引页后面有这段代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MySql.Data;
using MySql.Data.MySqlClient;

namespace gpsmapper {

public partial class login : System.Web.UI.Page {

    protected void Page_Load(object sender, EventArgs e) {}

    protected void cmdLogin_Click(object sender, EventArgs e){
        string cs = "Server=localhost;" + "Database=gts;" + "User ID=root;" + "Password=root;" 
+ "Pooling=false";
        MySqlConnection dbcon = new MySqlConnection(cs);
    }
    }
}

这一切在 Windows 上运行良好,但最终将部署在 CentOS 机器上。当我在 CentOS 机器上运行它时,它给了我以下错误:

Compilation Error

Description: Error compiling a resource required to service this request. Review your source file and modify it to fix this error.

Compiler Error Message: : at System.Reflection.AssemblyName..ctor (System.String assemblyName) [0x00000] in <filename unknown>:0
/gpsmapper/login.aspx

我该如何解决这个问题?有没有人遇到过类似的情况?

作为一种解决方案,我正在考虑使用 ODBC 驱动程序而不是单声道驱动程序来访问 MySQL。这个可以吗?

【问题讨论】:

  • 你没有说在你的项目中引用 MySql.Data.dll。你做过吗?我发现在 GAC 中安装 dll 并不意味着您可以在没有 dll 的本地副本的情况下运行程序。另外,我知道最新版本的 MySql.Web.dll 需要 .NET 4.0 框架。我不确定 MySql.Data.dll 是否需要相同,但可以尝试一下。

标签: asp.net mysql mono mysql-connector mod-mono


【解决方案1】:

我使用最新的 .NET/Mono 连接器进行这项工作,找到了 here

  1. mysql.data.dll(压缩路径mysql-connector-net-6.4.4-noinstall/v4)添加到项目引用中;
  2. Web.Config 更改:http://pastebin.com/CsHzwR4M

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 2023-02-22
    • 2011-05-29
    • 1970-01-01
    相关资源
    最近更新 更多