2010-10-21 35 views
2

我一直在找一個MVC2 web應用程序來找到MySQL連接器時遇到了一些麻煩。我運行CentOS的5帶mod_mono和mono的MySQL連接器2.6.7

我已經安裝使用2.0版本的工具

$ 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的DLL到GAC:

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

我得到運行應用程序時出現以下錯誤:

無法找到或加載註冊的.Net Framework數據提供程序MySql.Data.My SqlClient中

我在這裏創造描述了一個簡單的命令行應用程序:http://www.mono-project.com/MySQL,其中單聲道和.NET下工作在我的Windows機器上,但在我的Linux機器不能正常工作。

回答

4

只要您添加到GAC mysql.data.dll,您確定您正在引用它或可能是MySQL.Data.dll? Linux有大小寫敏感的文件系統,因此解決方案中的參考也是如此。

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" />

2

好! 請注意:您必須根據您下載的Connector/Net版本(我的情況爲6.3.7)來調整machine.config文件。