8

Mono を使用してビルド済みのアプリケーションを実行しています。このアプリケーションは、同じディレクトリ ( mysql.data.dll) で DLL と一緒に実行されます。Mono でアプリケーションを実行すると、次のエラーが発生します。

Could not load type 'Snowlight.Storage.SqlDatabaseClient' from assembly 'Snowlight, Version=0.1.0.35857, Culture=neutral, PublicKeyToken=null'.
  at System.Collections.Generic.Dictionary`2[System.Int32,Snowlight.Storage.SqlDatabaseClient].Init (Int32 capacity, IEqualityComparer`1 hcp) [0x00000] in <filename unknown>:0
  at System.Collections.Generic.Dictionary`2[System.Int32,Snowlight.Storage.SqlDatabaseClient]..ctor () [0x00000] in <filename unknown>:0
  at Snowlight.Storage.SqlDatabaseManager.Initialize () [0x00000] in <filename unknown>:0
  at Snowlight.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0

から判断する<filename unknown>と、これは、必要な DLL が見つからないために発生すると想定しています。アプリケーションにそれを認識させて使用させるにはどうすればよいでしょうか?

4

1 に答える 1

18

ターミナルから次のように実行してみてください。

export MONO_LOG_LEVEL=debug
export MONO_LOG_MASK=asm
mono --debug yourapp.exe

これで、すべてのアセンブリ ルックアップがターミナルに出力されるので、何がどこで検索されているかを知ることができます。

于 2012-06-04T09:23:07.293 に答える