चेतावनी: एक ही आश्रित विधानसभा के विभिन्न संस्करणों के बीच मिला संघर्ष


320

मैं वर्तमान में एक .NET एप्लिकेशन विकसित कर रहा हूं, जिसमें 20 प्रोजेक्ट हैं। उन परियोजनाओं में से कुछ को .NET 3.5 का उपयोग करके संकलित किया गया है, कुछ अन्य अभी भी .NET 2.0 परियोजनाएं हैं (अब तक कोई समस्या नहीं है)।

समस्या यह है कि अगर मैं एक बाहरी घटक शामिल करता हूं तो मुझे हमेशा निम्न चेतावनी मिलती है:

"Found conflicts between different versions of the same dependent assembly".

वास्तव में इस चेतावनी का क्या मतलब है और क्या इस चेतावनी को बाहर करने की संभावना है (जैसे # कोड में #pragma को अक्षम करने का उपयोग करके)?


जवाबों:


410

इस चेतावनी का मतलब है कि दो परियोजनाएं एक ही विधानसभा (उदाहरण System.Windows.Forms) का संदर्भ देती हैं, लेकिन दो परियोजनाओं के लिए विभिन्न संस्करणों की आवश्यकता होती है। आपके पास कुछ विकल्प हैं:

  1. समान संस्करणों का उपयोग करने के लिए सभी परियोजनाओं को पुन: व्यवस्थित करें (जैसे सभी .Net 3.5 पर जाएं)। यह पसंदीदा विकल्प है क्योंकि सभी कोड उन निर्भरता के संस्करणों के साथ चल रहे हैं जिन्हें उनके साथ संकलित किया गया था।

  2. एक बाइंडिंग पुनर्निर्देशित करें । यह चेतावनी को दबा देगा। हालाँकि, आपकी .Net 2.0 परियोजनाएँ (रनटाइम पर) .Net 3.5 संस्करण पर निर्भर असेंबली जैसे कि System.Windows.Forms। आप विज़ुअल स्टूडियो में त्रुटि पर डबल-क्लिक करके जल्दी से एक बाध्यकारी रीडायरेक्ट जोड़ सकते हैं।

  3. का उपयोग करें CopyLocal=true। मुझे यकीन नहीं है कि यह चेतावनी को दबा देगा। यह ऊपर दिए गए विकल्प 2 की तरह होगा, इसका मतलब है कि सभी परियोजनाएं .Net 3.5 संस्करण System.Windows.Forms का उपयोग करेंगी।

यहाँ कुछ तरीके हैं जिनसे आपत्तिजनक संदर्भ की पहचान कर सकते हैं:

  • आप https://gist.github.com/1553265 पर मिलने वाली उपयोगिता का उपयोग कर सकते हैं
  • एक और सरल विधि है बिल्ड आउटपुट वर्बोसिटी (टूल्स, ऑप्शंस, प्रोजेक्ट्स एंड सॉल्यूशंस, बिल्ड एंड रन, MSBuild प्रोजेक्ट बिल्ड आउटपुट वर्बोसिटी, विस्तृत) सेट करने के लिए और निर्माण के बाद, चेतावनी के लिए आउटपुट विंडो खोजें, और इसके ऊपर दिए गए टेक्स्ट को देखें। । ( इस टिप पर टिप्पणियों में सुझाव देने वाले पाउलोया को हैट टिप )

9
उपयोगिता के बिना इसे खोजने के लिए बस एक त्वरित तरीके से - यदि आप बाइंडिंग रीडायरेक्ट को जोड़ते हैं (विकल्प 2 के रूप में), तो यह वहाँ पर सन्दर्भ दिखाएगा - यदि वांछित है, तो आप अन्य विधियों में से किसी एक का उपयोग कर सकते हैं इसे संभालने के लिए, और अपनी कॉन्फ़िग फ़ाइल से बाइंडिंग पुनर्निर्देशित करें।
ब्रिस्स

222
सबसे सरल तरीका यह है कि "ऑफेंडिंग रेफरेंस (ओं)" का निर्माण करने के लिए आउटपुट आउटपुट वर्बोसिटी (टूल्स, ऑप्शंस, प्रोजेक्ट्स एंड सॉल्यूशंस, बिल्ड एंड रन, MSBuild प्रोजेक्ट बिल्ड आउटपुट वर्बोसिटी, विस्तृत) सेट करना है और निर्माण के बाद, आउटपुट विंडो खोजें चेतावनी के लिए। इसके ठीक ऊपर का टेक्स्ट देखें।
पाउलोया

7
डबल क्लिक वॉर्निंग (चरण 2) द्वारा रीडायरेक्ट बाइंडिंग मेरी चेतावनी को दूर नहीं करता है। मुझे लगता है कि मुझे संदेह है कि विधानसभा के साथ app.config जोड़ा गया है, लेकिन एक साफ / पुनर्निर्माण के बाद भी चेतावनी जारी है। इसके अलावा चरण 3 के अलावा, कोई भाग्य की कोशिश की। कोई विचार?
कोणीय काल

9
यदि वे आपकी अपनी परियोजनाओं से संदर्भ नहीं लेते हैं तो क्या होगा? उदाहरण के लिए, मैंने एक परियोजना का संदर्भ दिया, जिसमें न्यूटनसॉफ्ट पर निर्भरता है। जेसन, संस्करण = 6.0.0.0, और मैंने एक और परियोजना का संदर्भ दिया, जिसमें न्यूटनसॉफ्ट पर निर्भरता है। जेसन, संस्करण = 4.5.0.0
एडवर्ड नेड हार्वे

3
@ ब्रायन-लो, क्या मैं लिंक किए गए उपयोगिता के साथ आपके उत्तर में एक विकल्प के रूप में बिल्ड आउटपुट वर्बोसिटी सेटिंग (जैसा कि @pauloya द्वारा टिप्पणी में सुझाया गया है) जोड़ने का सुझाव दे सकता हूं? (अस्वीकरण, मैंने वास्तव में ऐसा करने के लिए उत्तर को संपादित करने की कोशिश की, लेकिन यह समीक्षा पर अस्वीकार कर दिया गया :))
रिक रिएंश

44

मूल रूप से ऐसा तब होता है जब आप जिन असेंबली का संदर्भ दे रहे होते हैं, उनमें "ट्रू लोकल" को "ट्रू" पर सेट किया जाता है, जिसका अर्थ है कि डीएलएल की एक कॉपी आपके एक्स के साथ बिन फ़ोल्डर में रखी गई है।

चूंकि विजुअल स्टूडियो एक संदर्भित विधानसभा की सभी निर्भरताओं की नकल करेगा, इसलिए इसे उसी विधानसभा के दो अलग-अलग बिल्ड के साथ समाप्त करना संभव है। यदि आपकी परियोजनाएं अलग-अलग समाधानों में हैं, और इसलिए इसे अलग से संकलित किया जा सकता है।

जिस तरह से मैंने इसके बारे में जानकारी प्राप्त की है वह विधानसभा परियोजनाओं में संदर्भ के लिए कॉपी लोकल को गलत पर सेट करना है। केवल इसे निष्पादन योग्य / वेब अनुप्रयोगों के लिए करें, जहां आपको तैयार उत्पाद को चलाने के लिए विधानसभा की आवश्यकता होती है।

आशा है कि समझ में आता है!


31

मैं पाउलोया के समाधान को पोस्ट करना चाहता था जो उन्होंने ऊपर टिप्पणियों में प्रदान किए थे। मेरा मानना ​​है कि यह अपमानजनक संदर्भ खोजने के लिए सबसे अच्छा समाधान है।

सबसे सरल तरीका यह है कि "ऑफेंडिंग रेफरेंस (ओं)" का निर्माण करने के लिए क्या है? चेतावनी के लिए। इसके ठीक ऊपर का टेक्स्ट देखें।

उदाहरण के लिए, जब आप "संघर्ष" के लिए आउटपुट पैनल खोजते हैं, तो आपको ऐसा कुछ मिल सकता है:

3>  There was a conflict between "EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" and "EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089".
3>      "EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" was chosen because it was primary and "EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" was not.

जैसा कि आप देख सकते हैं, ईएफ संस्करण 5 और 6 के बीच एक संघर्ष है।


3
लेकिन अब जब मेरे पास यह जानकारी है, तो मैं त्रुटि को कैसे दूर करूं? मैं देख सकता हूं कि संघर्ष क्या है, लेकिन मैं यह नहीं
जान

हाय @Bassie, पहली बात यह है कि आप अपने nuget पैकेज फ़ाइल की जाँच करें और यह निर्धारित करें कि क्या आपको सभी फ़ाइलों को पैकेज के एक ही संस्करण में अपडेट करने की आवश्यकता है। आप update-package [your package name] -version 6.0.0 -reinstallमेरे जवाब के अनुसार एक आदेश चलाकर ऐसा कर सकते हैं यहां stackoverflow.com/questions/22685530/…
user1477388

@ बासी, आप चेतावनी का सुझाव क्या कर सकते हैं, और बाध्यकारी रीडायरेक्ट को app.config फ़ाइल में जोड़ सकते हैं! (यदि अद्यतन करना कोई विकल्प नहीं है, तो वह है।)
BrainSlugs83

@ बासी मेरा जवाब देखें, जहां मैं आपको दिखाता हूं कि आपको अलग-अलग असेंबली / डीडी कैसे मिलनी चाहिए जो बेमेल मुद्दों का कारण बन रही हैं।
न्यूप्रिंट

22

मुझे अपनी एक परियोजना के साथ एक ही समस्या थी, हालांकि, उपरोक्त में से किसी ने भी चेतावनी को हल करने में मदद नहीं की। मैंने विस्तृत बिल्ड लॉगफ़ाइल की जाँच की, मैंने प्रभावित समाधान में प्रत्येक परियोजना के लिए सही संस्करणों का उपयोग करने के लिए AsmSpy का उपयोग किया, मैंने प्रत्येक प्रोजेक्ट फ़ाइल में वास्तविक प्रविष्टियों की दोहरी जाँच की - कुछ भी मदद नहीं की।

आखिरकार यह पता चला कि यह समस्या एक परियोजना में मेरे द्वारा दिए गए संदर्भों में से एक पर निर्भर थी। इस संदर्भ (ए) को बदले में (बी) के एक अलग संस्करण की आवश्यकता थी जिसे मेरे समाधान में अन्य सभी परियोजनाओं से सीधे संदर्भित किया गया था। संदर्भित परियोजना में संदर्भ को अद्यतन करने से इसे हल किया गया।

Solution A
+--Project A
   +--Reference A (version 1.1.0.0)
   +--Reference B
+--Project B
   +--Reference A (version 1.1.0.0)
   +--Reference B
   +--Reference C
+--Project C
   +--Reference X (this indirectly references Reference A, but with e.g. version 1.1.1.0)

Solution B
+--Project A
   +--Reference A (version 1.1.1.0)

मुझे उम्मीद है कि उपरोक्त शो का क्या मतलब है, मुझे पता लगाने में मेरे कुछ घंटों का समय लगा, इसलिए उम्मीद है कि किसी और को भी फायदा होगा।


1
यहां भी यही समस्या। हालाँकि, मेरे पास नए संस्करण के संदर्भ को अपडेट करने का कोई मौका नहीं है। मैंने एक App.config का उपयोग करने की कोशिश की: जब यह एप्लिकेशन के लिए काम करता है, तो Visual Studio 2010 बिल्ड के दौरान इसे अनदेखा करता है।
थॉमस वेलर

1
वाह, मैं दो महीने के लिए इन समस्याओं को मिला है और इसे इंगित और हल नहीं कर सका। किसी कारण से यह केवल डिबगिंग के दौरान क्रैश हो जाएगा और कुछ मामलों में, यह मैन्युअल रूप से परेशान करेगा। बिन फ़ोल्डर में वास्तविक एक के साथ। जब ऐसा होगा। डिबगिंग एक वास्तविक दर्द था। जब मैंने आपके उत्तर को पढ़ा तो मुझे एहसास हुआ कि यह वास्तव में मेरे साथ क्या हो रहा था और मैंने इसे 5 मिनट में तय किया :)
डेनिस पुजक

19

Visual Studio पर यदि आप समाधान पर राइट क्लिक करते हैं और nuget संकुल प्रबंधित करते हैं तो एक "समेकित" टैब आता है जो सभी पैकेज को एक ही संस्करण पर सेट करता है।


पारितोषिक के लिए धन्यवाद। इस बार इसने मेरी मदद नहीं की, लेकिन यह जानना अच्छा है कि यह वहाँ है।
BrainSlugs83

8

मेरे पास बस यह चेतावनी संदेश था और समाधान को साफ कर दिया और recompiled (बिल्ड -> क्लीन समाधान) और यह चला गया।


9
केवल तब तक जब तक आप समाधान का पुनर्निर्माण नहीं करते हैं
ल्यूक

यह मुझे बचाता है! मैं कल से अन्य समाधान की कोशिश कर रहा हूं, लेकिन इसने मेरी समस्या हल कर दी। इस ऊपर टिप्पणी सहित ^। धन्यवाद!
vnpnlz

6

मेरे पास एक ही मुद्दा था और मैंने web.config में निम्नलिखित को बदलकर हल किया।

यह मेरे साथ हुआ क्योंकि मैं न्यूटनसॉफ्ट.जॉन 4.0 का उपयोग करके एप्लिकेशन चला रहा हूं

से:

<dependentAssembly>
  <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>

सेवा:

<dependentAssembly>
  <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="4.5.0.0" />
</dependentAssembly>

मेरे लिए यही समाधान था। मेरे पास उच्च संस्करण के लिए एक बाइंडिंग पुनर्निर्देशित था, और मैंने केवल एक बार निचले संस्करण में चले जाने पर काम किया।
19

1
क्यों? मेरे लिए इतना अजीब। मैं EF का उपयोग नहीं करता, लेकिन मुझे लगा कि हम हमेशा अंतिम संस्करण में जाना चाहते हैं?
लॉन्ग

1
@ HoàngLong क्योंकि आप जिस संस्करण को संदर्भित कर रहे हैं वह पुराना संस्करण है, लेकिन आप जो संस्करण शामिल कर रहे हैं वह नया है।
ब्रेनस्ल्गस 83

3

यदि आपके पास अपनी निर्भरता को प्रबंधित करने के लिए Nuget का उपयोग कर रहे हैं तो मेरे पास यह करने का एक और तरीका है। मुझे पता चला है कि कभी-कभी VS और Nuget मेल नहीं खाते हैं और Nuget यह पहचानने में असमर्थ है कि आपकी परियोजनाएं सिंक से बाहर हैं। Package.config एक बात कहेगा, लेकिन सन्दर्भ में दिखाया गया रास्ता - गुण कुछ और संकेत देगा।

यदि आप अपनी निर्भरता को अपडेट करने के इच्छुक हैं, तो निम्न कार्य करें:

  1. समाधान एक्सप्लोरर से, प्रोजेक्ट पर राइट क्लिक करें और 'एनगेट पैकेज प्रबंधित करें' पर क्लिक करें।

  2. बाएं फलक में 'इंस्टॉल किए गए पैकेज' टैब का चयन करें अपने इंस्टॉल किए गए पैकेजों को रिकॉर्ड करें आप अपने पैकेजों को कॉपी करना चाहते हैं। यदि आपके पास बहुत कुछ है तो पहले अपने डेस्कटॉप पर जाएं, ताकि आप यह देखने के लिए Google से क्रॉस चेक कर सकें कि क्या Nuget pkgs स्थापित हैं

  3. अपने पैकेजों की स्थापना रद्द करें। ठीक है, हम उन्हें वापस जोड़ने जा रहे हैं।

  4. तुरंत उन पैकेजों को स्थापित करें जिनकी आपको आवश्यकता है। Nuget क्या करेगा आपको न केवल नवीनतम संस्करण मिलेगा, बल्कि आपके संदर्भों को बदल देगा, और आपके लिए बाध्यकारी रीडायरेक्ट भी जोड़ देगा।

  5. अपनी सभी परियोजनाओं के लिए ऐसा करें।

  6. समाधान स्तर पर, एक स्वच्छ और पुनर्निर्माण करें।

आप निम्न परियोजनाओं के साथ शुरू करना चाहते हैं और उच्च स्तर के लोगों के लिए अपने तरीके से काम कर सकते हैं, और प्रत्येक परियोजना का पुनर्निर्माण कर सकते हैं जैसे आप साथ चलते हैं।

यदि आप अपनी निर्भरता को अपडेट नहीं करना चाहते हैं, तो आप पैकेज मैनेजर कंसोल का उपयोग कर सकते हैं, और सिंटैक्स अपडेट-पैकेज -प्रोजेक्ट का उपयोग कर सकते हैं [yourProjectName] [पैकेजनाम] -Version [versionNumber]


2

यह वास्तव में आपके बाहरी घटक पर निर्भर करता है। जब आप किसी .NET कंपोनेंट में किसी बाहरी कंपोनेंट का संदर्भ लेते हैं तो यह उस कंपोनेंट को पहचानने के लिए एक GUID बनाता है। यह त्रुटि तब होती है जब आपकी किसी परियोजना द्वारा संदर्भित बाहरी घटक का नाम एक ही होता है, लेकिन किसी अन्य असेंबली में इस तरह के घटक के रूप में भिन्न संस्करण होता है।

यह कभी-कभी तब होता है जब आप संदर्भ खोजने के लिए "ब्राउज़ करें" का उपयोग करते हैं और असेंबली के गलत संस्करण को जोड़ते हैं, या आपके कोड रिपॉजिटरी में घटक का एक अलग संस्करण होता है, जैसा कि आपने स्थानीय मशीन में स्थापित किया था।

यह पता लगाने की कोशिश करें कि किन परियोजनाओं में ये संघर्ष हैं, संदर्भ सूची से घटकों को हटा दें, फिर उन्हें फिर से सुनिश्चित करें कि आप उसी फ़ाइल की ओर इशारा कर रहे हैं।


2

=> आंशिक रूप से इंस्टॉल किए गए एप्लिकेशन के कुछ उदाहरण होंगे।

=> सबसे पहले उस इंस्टालेशन को अनइंस्टॉल एप्लीकेशन से अनइंस्टॉल करें।

=> फिर, साफ, पुनर्निर्माण, और तैनात करने का प्रयास करें।

इससे मेरा मसला हल हो गया। हालांकि यह आपकी मदद भी करता है। सादर।


1

इसके अलावा यह समस्या थी - मेरे मामले में यह "विशिष्ट संस्करण" संपत्ति के कारण था जो कई संदर्भों में सही है। इसे उन संदर्भों पर गलत तरीके से बदलने से समस्या हल हो गई।


1

अगर NuGet का उपयोग करना है तो मुझे करना था:

  1. राइट क्लिक परियोजना और क्लिक करें प्रबंधित NuGet संकुल ।।

  2. शीर्ष दाईं ओर स्थित कॉग पर क्लिक करें

  3. पैकेज स्रोतों से ऊपर NuGet पैकेज प्रबंधक में सामान्य टैब पर क्लिक करें

  4. "रीडायरेक्ट बाइंडिंग बाइंडिंग रीडायरेक्ट" को बाइंडिंग रीडायरेक्ट में जाँचें

  5. स्वच्छ और पुनर्निर्माण और चेतावनी चला गया

बहुत आसान


1

मैंने बस कुछ समय उसी मुद्दे पर डिबगिंग में बिताया। ध्यान दें, यह मुद्दा विभिन्न परियोजनाओं के बीच नहीं हो सकता है, लेकिन वास्तव में एक ही परियोजना में कई संदर्भों के बीच है जो एक ही dll / असेंबली के विभिन्न संस्करणों पर निर्भर करता है। मेरे मामले में, मुद्दा संदर्भ थाFastMember.dll संस्करण बेमेल था जो एक ही परियोजना में दो अलग-अलग NuGet पैकेज से आता है। जब मुझे एक परियोजना दी गई थी, तो यह संकलित नहीं करेगा क्योंकि नुगेट पैकेज गायब थे और वीएस ने लापता पैकेज को बहाल करने से इनकार कर दिया था। NuGet मेनू के माध्यम से, मैं मैन्युअल रूप से सभी NuGets को नवीनतम संस्करण में अपडेट करता हूं, जब चेतावनी दिखाई देती है।

विजुअल स्टूडियो में विंडो में Tools > Options > Build and Run > MSBuld Project build output verbosity: (set to) Diagnostics.लाइन के लिए देखें । नीचे आउटपुट का हिस्सा है जो मुझे मिला:There was a conflict betweenOutput

1>  There was a conflict between "FastMember, Version=1.5.0.0, Culture=neutral, PublicKeyToken=null" and "FastMember, Version=1.3.0.0, Culture=neutral, PublicKeyToken=null". (TaskId:19)
1>      "FastMember, Version=1.5.0.0, Culture=neutral, PublicKeyToken=null" was chosen because it was primary and "FastMember, Version=1.3.0.0, Culture=neutral, PublicKeyToken=null" was not. (TaskId:19)
1>      References which depend on "FastMember, Version=1.5.0.0, Culture=neutral, PublicKeyToken=null" [C:\Users\ksd3jvp\Source\Temp\AITool\Misra\AMSAITool\packages\FastMember.1.5.0\lib\net461\FastMember.dll]. (TaskId:19)
1>          C:\Users\ksd3jvp\Source\Temp\AITool\Misra\AMSAITool\packages\FastMember.1.5.0\lib\net461\FastMember.dll (TaskId:19)
1>            Project file item includes which caused reference "C:\Users\ksd3jvp\Source\Temp\AITool\Misra\AMSAITool\packages\FastMember.1.5.0\lib\net461\FastMember.dll". (TaskId:19)
1>              FastMember, Version=1.5.0.0, Culture=neutral, processorArchitecture=MSIL (TaskId:19)
1>      References which depend on "FastMember, Version=1.3.0.0, Culture=neutral, PublicKeyToken=null" []. (TaskId:19)
1>          C:\Users\ksd3jvp\Source\Temp\AITool\Misra\AMSAITool\packages\ClosedXML.0.94.2\lib\net46\ClosedXML.dll (TaskId:19)
1>            Project file item includes which caused reference "C:\Users\ksd3jvp\Source\Temp\AITool\Misra\AMSAITool\packages\ClosedXML.0.94.2\lib\net46\ClosedXML.dll". (TaskId:19)
1>              ClosedXML, Version=0.94.2.0, Culture=neutral, processorArchitecture=MSIL (TaskId:19)

नोटिस जो Project file item includes which caused reference "C:\Users\ksd3jvp\Source\Temp\AITool\Misra\AMSAITool\packages\ClosedXML.0.94.2\lib\net46\ClosedXML.dll"

ClosedXML.dllClosedXMLNuGet से आता है और यह निर्भर करता है FastMember.dll 1.3.0.0। इसके शीर्ष पर, FastMemberप्रोजेक्ट में नुगेट भी है , और यह है FastMember.dll 1.5.0.0। बेमेल!

मैंने अनइंस्टॉल ClosedXMLऔर FastMemberNuGets की स्थापना की है , क्योंकि मैंने बाध्यकारी पुनर्निर्देशित किया था और बस ClosedXMLउस के नवीनतम संस्करण को स्थापित किया था जो कि समस्या तय कर दिया था!


0

यह मेरे साथ भी हुआ। एक dll को दो बार संदर्भित किया गया था: एक बार सीधे (संदर्भ में) और एक बार अप्रत्यक्ष रूप से (दूसरे संदर्भित परियोजना द्वारा संदर्भित)। मैंने प्रत्यक्ष संदर्भ को हटा दिया, साफ किया और समाधान का पुनर्निर्माण किया। निर्धारित समस्या।


0
  1. "समाधान एक्सप्लोरर" खोलें।
  2. "सभी फाइलें दिखाएं" पर क्लिक करें
  3. "संदर्भ" का विस्तार करें
  4. आपको बाकी की तुलना में थोड़ा अलग आइकन के साथ एक (या अधिक) संदर्भ दिखाई देगा। आमतौर पर, यह पीले बॉक्स के साथ होता है जो आपको इसका ध्यान रखने का सुझाव देता है। बस इसे हटा दो।
  5. संदर्भ वापस जोड़ें और अपना कोड संकलित करें।
  6. बस इतना ही।

मेरे मामले में, MySQL के संदर्भ में एक समस्या थी। किसी तरह, मैं सभी उपलब्ध संदर्भों की सूची के तहत इसके तीन संस्करणों को सूचीबद्ध कर सकता हूं; .net 2.0 .net 4.0 और .net 4.5 के लिए। मैंने ऊपर 6 में से 1 प्रक्रिया का पालन किया और यह मेरे लिए काम किया।


0

एक और बात पर विचार करें और जांच करें, सुनिश्चित करें कि आपके पास उस बिन फ़ोल्डर का उपयोग करने वाली कोई सेवा नहीं है। अगर उनकी सेवा बंद हो जाती है और समाधान का पुनर्निर्माण होता है


0

.Resx फ़ाइलों को संपादित करते समय मैक विज़ुअल स्टूडियो पर एक समस्या लगती है। मैं वास्तव में नहीं जानता कि क्या हुआ था, लेकिन जैसे ही मैंने अपने मैक पर कुछ .resx फ़ाइलों को संपादित किया, मुझे यह समस्या मिली। मैंने विंडोज पर प्रोजेक्ट खोला, फाइलें खोलीं और वे ऐसे थे जैसे उन्हें संपादित नहीं किया गया हो। इसलिए मैंने उन्हें संपादित किया, बचाया, और मैक पर भी सब कुछ फिर से काम करना शुरू कर दिया।


0

मेरे पास ऐसी समस्या थी जब मेरी परियोजना में NETStandardLibrary का संदर्भ था और संदर्भित विधानसभाओं में से एक को netcore के लिए प्रकाशित किया गया था। बस इसे netstandard के रूप में प्रकाशित किया और समस्या दूर हो गई


0

यहाँ समाधान है, .NET कोर 3.0 शैली: https://github.com/HTD/ref-check

जब आप पाते हैं कि क्या संघर्ष है, तो शायद आप संघर्षों को हल करने में सक्षम होंगे। यदि परस्पर विरोधी संदर्भ अन्य पैकेजों से हैं, तो आप भाग्य से बाहर हैं, या आपको इसके बजाय स्रोतों का उपयोग करने की आवश्यकता है।

मेरे मामले में, परस्पर विरोधी पैकेज अक्सर मेरे खुद के होते हैं, इसलिए मैं निर्भरता की समस्याओं को ठीक कर सकता हूं और उन्हें पुनः प्रकाशित कर सकता हूं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.