c# - MS Build Error 3181- Problem with referenced assemblies -


इस परिदृश्य की कल्पना करें:

  • विधानसभा "Foo.dll" संदर्भ एडीओक्स-लाइब्रेरी (डीडीएल और सुरक्षा के लिए माइक्रोसॉफ्ट एडीओ एक्सटेंशन 2.8) जिसे वी.एस. 2010 द्वारा बिन-डायरेक्टरी में इंटरऑप। एडीओएक्स डाइल के रूप में जोड़ा गया था। इस संदर्भ की "स्थानीय प्रति" सही पर भी सेट की गई थी।

  • विधानसभा "Bar.exe" दोनों Foo.dll और अतिरिक्त ADOX- लाइब्रेरी का संदर्भ देता है क्योंकि Bar.exe

  • जब Bar.exe में ADOX-reference का "स्थानीय प्रति" सही पर सेट किया गया है, एमएस बिल्ड चेतावनी 3181 उत्पन्न करता है - " दो या दो से अधिक फ़ाइलों का एक ही लक्ष्य पथ है "- जो समझ में आता है।

    हालांकि, जब मैं एडीओक्स-संदर्भ के" Bar.exe "में झूठी को" लोकल कॉपी "सेट करता हूं, तो यह ठीक संकलित करता है, लेकिन आवेदन, एक त्रुटि कह रही है कि विधानसभा Interop.ADOX पाया नहीं जा सका और विधानसभा की स्पष्ट परिभाषा विधानसभा से मेल नहीं खाती संदर्भ।

    मुझे लगता है कि मैं यहाँ कुछ सरल नहीं खो रहा हूँ, लेकिन मैं Google के साथ मेरी समस्या को हल करने में असमर्थ था मैं सही दिशा में समाधान या संकेत के लिए आभारी रहूंगा :)

    चीयर्स

    ईसाई

सुनिश्चित नहीं है कि EXE प्रोजेक्ट ने इंटरॉप लायब्रेरी क्यों नहीं बनाया। लेकिन इस समस्या को पंट करें डीईएल प्रोजेक्ट द्वारा बनाई गई इंटरॉप लाइब्रेरी को संदर्भित करने के बजाय, इसे EXE प्रोजेक्ट संदर्भ ADO होने के बजाय, इसे एक DLL प्रोजेक्ट द्वारा बनाया गया इंटरप लायब्रेरी का संदर्भ दें।

सार्वजनिक वर्ग में एडीओ प्रकारों को उजागर नहीं करना बेहतर समाधान होगा एडीओ एक्सटेंशन एक उपयोगिता बैग है, आपको इसे पर्याप्त रूप से पर्याप्त रूप से समझाया जाना चाहिए।


Comments