2013-02-24 73 views
5

का उपयोग करते समय त्रुटि दर्ज करें मैं अपने संदर्भ # डीएलएल के साथ अपने सी # प्रोग्राम को गठबंधन करने के लिए ILMerge का उपयोग करने का प्रयास कर रहा हूं। यदि मैं उन्हें विलय किए बिना प्रोग्राम चलाता हूं, तो सब ठीक हो जाता है लेकिन जब मैं उन्हें विलय करता हूं तो मुझे "Void System.Threading.Monitor.Enter" त्रुटि मिलती है।शून्य सिस्टम। थ्रेडिंग। मॉनिटर। ILMerge

यहाँ DLL का मैं संयोजन कर रहा हूँ कर रहे हैं:

HTMLAgilityPack.dll 
MySql.Data.dll 
RKLib.ExportData.dll 

त्रुटि MySql.Data.dll से आ रही प्रतीत होता है, लेकिन मैं वास्तव में यकीन है कि क्यों यह इस अपवाद फेंक नहीं हूँ।

किसी भी विचार की बहुत सराहना की।

संपादित करें: पूर्ण त्रुटि मैं प्राप्त कर रहा है:

************** Exception Text ************** 
System.MissingMethodException: Method not found: 'Void System.Threading.Monitor.Enter(System.Object, Boolean ByRef)'. 
at MySql.Data.MySqlClient.MySqlConnection.set_ConnectionString(String value) 
at MySql.Data.MySqlClient.MySqlConnection..ctor(String connectionString) in :line 0 
+0

हमेशा पूर्ण त्रुटि जानकारी जोड़ें। समान त्रुटियों को ढूंढना आसान बनाता है। –

+1

मॉनीटर। एंटर (ऑब्जेक्ट, बूलियन%) .NET 4.0 में जोड़ा गया था। क्या मर्ज किए गए असेंबली .NET 4.x असेंबली या शायद पुराने संस्करण का संदर्भ देता है? – dtb

+0

क्या आप मुझे बता सकते हैं कि इसे कैसे जांचें? मुझे पता है कि मेरा प्रोग्राम है लेकिन मुझे यकीन नहीं है कि MySQL.Data क्या है या नहीं। – Reg

उत्तर

1

ढांचा किस संस्करण का उपयोग कर रहे हैं? एक लक्ष्य प्लैटफॉर्म विकल्प है जिसे आप सेट करने की आवश्यकता हो सकती है यदि आप 4.0/4.5 का उपयोग कर रहे हैं उदाहरण के लिए।

/targetplatform:version,platformdirectory