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

良い !注意: ダウンロードした Connector/Net のバージョン (私の場合は 6.3.7) に従って、machine.config ファイルを調整する必要があります。

于 2011-08-29T10:17:53.583 に答える
1

2 つの問題があります。

  1. すでに述べたように、DLL のケーシング。
  2. machine.config を更新する必要がありました。MySql プロバイダーが自動的にこれを行うため、Windows 側でこれを行う必要はありませんでした。

Mono の machine.config ファイルを更新するには、machine.config ファイルを見つける必要があります。Cent OS の場合、(/usr/local/etc/mono/2.0/machine.config) にあります。Windows .NET の machine.config ファイルから mono ファイルにコピーしたところ、うまくいきました。

<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 に答える