我已经安装了 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。这可以做到吗?