我發現自己無法在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