ऐसा लगता है कि स्थानीय कॉन्फ़िगरेशन फ़ाइल में मोनो dllmaps को अनदेखा करता है।मोनो app.config फ़ाइल में dllmaps को अनदेखा करता है
मैं अपने .NET अनुप्रयोग को लिनक्स (उबंटू) पर पोर्ट करना चाहता हूं जो देशी पुस्तकालयों को कॉल करता है, इसलिए मेरे कोड को काम करने के लिए मेरे पास dllmaps है। मोनो डॉक्स का कहना है कि आपको something.exe के लिए कुछ.exe.config बनाना है और इसमें एप्लिकेशन विशिष्ट कॉन्फ़िगरेशन डालना है। यह फ़ाइल को पार करता है (क्योंकि यह शिकायत करता है कि अगर मैं इसमें कुछ वर्तनी गलती करता हूं) और फ़ाइल नाम सही है लेकिन ऐसा लगता है कि यह dllmaps को अनदेखा करता है।
कॉन्फ़िग फ़ाइल सरल है:
<configuration>
<dllmap dll="i:openal32.dll" target="libopenal.so" />
</configuration>
मोनो openal32.dll नहीं मिल रहा है और DllNotFoundException फेंकता है। लेकिन अगर मैं मुख्य/etc/mono/config फ़ाइल में उस dllmap प्रविष्टि की प्रतिलिपि बनाता हूं तो सबकुछ ठीक है। यदि $ MONO_LOG_LEVEL = डीबग मोनो करें ... यह देखने के लिए चाल करें कि यह क्या करता है और मुझे लगता है कि libopenal.so को लोड करने का कोई प्रयास नहीं है। लेकिन कई libopenal32.dll, ./libopenal32.dll libopenal32.so, openal32.so, आदि फ़ाइलों को लोड करने का प्रयास करते हैं।
शायद मैं फिर से एक मोनो बग में भाग गया?
मैं इस कॉन्फ़िगरेशन फ़ाइल को संग्रह में पैक करना चाहता हूं और मैं अपने उपयोगकर्ताओं को/etc/mono/config फ़ाइल से गड़बड़ नहीं करना चाहता हूं।
कोई भी विचार?
यह समस्या थी ... मैंने गलत असेंबली में कॉन्फ़िगरेशन फ़ाइल लिखा था। मेरे संदर्भों में से एक डीएल का मुख्य आवेदन नहीं है। – Calmarius
+1 आपके पास एक उज्ज्वल भावी लेखन मोनो डेबफुस्केशन डॉक्स है। :) –