0

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 フォルダーから)

両方の machine.config ファイル (2.0 および 4.0 用) をインストールしgacutil -i MySql.Data.dll て編集し、以下を追加しました。

<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

どうすればこれを解決できますか? 誰かが似たようなことに直面したことがありますか?

解決策として、mono の代わりに ODBC ドライバーを使用して MySQL にアクセスすることを考えています。これはできますか?

4

1 に答える 1

0

ここにある .NET/Mono 用の最新のコネクタを使用して、これを機能させています。

  1. プロジェクト参照にmysql.data.dll (zip パスmysql-connector-net-6.4.4-noinstall/v4 ) を追加します。
  2. Web.Config の変更: http://pastebin.com/CsHzwR4M
于 2012-01-17T12:48:10.787 に答える