无法在Mono中从程序集加载类型

时间:2012-06-03 16:29:50

标签: dll mono

我正在使用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,那么我如何让应用程序识别它并使用它呢?

1 个答案:

答案 0 :(得分:16)

尝试从终端运行它:

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

现在每个装配查找都将打印到终端,这样您就可以找到在哪里查找的内容。