2017-06-14 12 views
0

私は現在、.NET 3.5 UnityEngine、Monoにおり、プロジェクト用にMysqlサポートを追加しようとしていました。Mysql .NET 3.5のTypeLoad例外

私は文字通りダウンロード(v2)のバージョンを参考にして、正しい場所にdllを置いてみましたが、タイプロードの例外が発生しました。

プラットフォームアセンブリ:F:\ ADT \ RustLegacyServer \ rust_server_Data \管理\ MySql.Data.dll(このメッセージは無害である) TypeLoadException:アセンブリ「テスト、バージョン= 0.0.0.0から型 'MySQLConnector' をロードできませんでした、 Culture =ニュートラル、PublicKeyToken = null '。

私のクラスをロードする必要はありません。なぜなら、DLLがロードされているか、それを使用しているからです。

何が原因なのですか?

答えて

0

は答えDLLのフォルダへの寄稿

コピーのおかげ「のSystem.Data.dll」「プログラムファイル(x86の)\ユニティ\エディタ\データ\モノ\ libに\モノラル\の団結」を手に入れましたあなたのプロジェクトツリーで使用する

"I18N.dll"、 "I18N.West.dll"ファイルでこれが必要な場合があります。 JSON APIのMC System.Dataを使用していましたが、正常に動作していましたが、明らかに何らかの理由でMysqlがUnityプラットフォーム上でそれを気に入らなかったようです。 JsonもそのDLLで作業しているようです。

System.Transactions.dllも必要な場合があります。これらのすべてが存在する場合、Unityに問題はありません。

0

多分それを見つけることはできません。 fは仮想ドライブですか、実際のドライブですか? 仮想ドライブから参照を読み込んだり、UNCパスまたは実際のドライブを使用すると、多くの問題が発生する可能性があります。

より良い方法は、ナゲットを使用することです。プロジェクトが保存されているフォルダと同じフォルダにすべてのパッケージを保存し、必要に応じて新しいバージョンまたはバージョンを選択することができます。

また、DLLのバージョンが間違っている可能性があります。別のものが必要です。

+0

これは実際にCILを使用して変更するゲームです。すべての参照dllは管理フォルダに移動する必要があります。ログには「プラットフォームアセンブリ」と表示されるので、ちょっと変です。ディスクは仮想ではありません。ナゲットを使うことはできません。この場合は必要ありません。何とかそれを検出しない可能性があります。私はいくつかのものを試してみましょう。 – DreTaX

+0

mysql dllの追加リファレンスが必要ですか? – DreTaX

+0

mySQLコネクタ(https://dev.mysql.com/downloads/connector/net/)をダウンロードしましたか、または単にMySQLアプリケーションがインストールされているフォルダからDLLを取り出したのですか?なぜなら、私はMySQL Connectorを毎回ダウンロードしてインストールしていたからです。あなたのソリューションに行き、 "参照の追加"を選択すると、すべてのMySQL Libがウィンドウに表示されます。 –