我发现自己无法在Mono 3.0(OpenSUSE 12.3 x64)上运行任何WinForms应用程序。我得到的问题是System.TypeInitializationException: An exception was thrown by the type initializer for System.Windows.Forms.XplatUI ---> System.TypeInitializationException: An exception was thrown by the type initializer for System.Drawing.GDIPlus ---> System.DllNotFoundException: /usr/local/lib/libgdiplus.so
。它找不到libgdiplus.so的原因是它不在我的系统中的/usr/local/lib
中,而是/usr/lib64
。我知道/usr/lib64
在ldconfig的路径中,我也尝试将/etc/mono/config
中的gdiplus的dllmap条目更改为直接指向它,并且错误仍然存在。Mono DllNotFound错误
我有一个试图运行MoMA的完整日志MONO_LOG_LEVEL="debug"
here.它似乎忽略了配置文件并直接在错误的地方寻找SO。
有没有什么办法让它在正确的地方找到这个SO?
您的应用程序是64位还是32位应用程序? – 2013-03-26 01:58:12
我假设你已经运行'ldconfig -v'来更新库?它还应该打印出路径,以便确认命中'/ usr/lib64'。 – 2013-03-26 02:13:14
@ chue-x是的,我运行ldconfig并且'/ usr/lib64'在列表中。另外,libgdiplus.so特别在ldconfig的库列表中。 @Timo都不是 - 它是.NET字节码,可以在任何具有Mono或.NET Framework的平台上运行。 – PrinceBilliard 2013-03-26 14:04:53