1

「.NET & Mono」のmysql-connector-net-6.5.4-noinstall.zipを取得しました。MSVS で使用しましたが、問題はありませんでした。mono 2.10 を使用して Linux でバイナリを実行しようとすると、mysql dll が無効であるというエラーが表示されます。モノラル開発を見ると、実際にDLLを参照できます。コンパイラをビルドしようとすると、名前が無効であると主張するフィットがスローされます

Windowsでビルドされたバイナリを実行すると、代わりにこの例外が発生します

Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' or one of its dependencies.
File name: 'MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d'

これを機能させるにはどうすればよいですか?注: 3.5 で構築しましたが、使用する予定のサーバーには mono 2.6 しかないため、.NET 4 にアップグレードできません。

-編集-

サーバーの発言を確認したところ、この例外が発生しました。mysql.data.dll が同じディレクトリにあることに注意してください。

** (MySqlTest.exe:28256): WARNING **: The following assembly referenced from /root/apps/MySqlTest/MySqlTest.exe could not be loaded:
     Assembly:   MySql.Data    (assemblyref_index=2)
     Version:    6.5.4.0
     Public Key: c5687fc88969c44d
The assembly was not found in the Global Assembly Cache, a path listed in the MONO_PATH environment variable, or in the location of the executing assembly (/root/apps/MySqlTest/).

** (MySqlTest.exe:28256): WARNING **: Could not load file or assembly 'MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' or one of its dependencies.

Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' or one of its dependencies.
File name: 'MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d'
4

1 に答える 1

2

^&*()、パッケージが間違っていました。彼らは、大文字と小文字を区別するファイル名で dll を構築し、zip する前に dll 名を小文字にしました。にリネームするとMySql.Data.dll解決します。

于 2012-08-01T12:01:17.310 に答える