दिलचस्प पोस्ट
हाशमैप के साथ <c: forEach> का उपयोग करें PHP कोड को सब कुछ निकालने के लिए संख्याएं Log4j लॉगगर प्रोग्रामिंग को कॉन्फ़िगर करना एक स्निपेट से प्रोग्रामिंग भाषा का पता लगा रहा है बहु-कोर मशीनों पर नोड। जेएस कैसे varbinary से char / varchar में mysql में कन्वर्ट करने के लिए जावा के स्क्वायर रूट फ़ंक्शन के लिए मुझे स्रोत कोड कहां मिल सकता है? नियॉन: कैसे jdk9 पर चलने के लिए? पायथन में लोकेल दिनांक स्वरूपण Mockito / Powermock का उपयोग कर एक enum एकलटन वर्ग कैसे नकली करें? जावा: बुलियन प्रिंट्लएन (बूलियन? "प्रिंट सच है": "प्रिंट झूठा") स्वचालित रूप से समायोजित करेंक्रॉलिव्यूइन्सेट्स काम नहीं कर रहे हैं इंस्टेंस सदस्य को टाइप पर इस्तेमाल नहीं किया जा सकता गतिशील स्क्रिप्ट लदान सिंक्रनाइज़ेशन स्ट्रिंग स्ट्रीम क्यों विफलता पर लक्ष्य का मूल्य बदलता है?

फ़ाइल या असेंबली को लोड नहीं किया जा सका या इसके निर्भरता में से एक

मुझे इनमें से एक "फ़ाइल या असेंबली लोड नहीं कर सका या उसकी निर्भरता में से एक" समस्याएं आ रही हैं

अतिरिक्त जानकारी: फ़ाइल या असेंबली को लोड नहीं किया जा सका 'Microsoft.Practices.Unity, संस्करण = 1.2.0.0, संस्कृति = तटस्थ, PublicKeyToken = 31bf3856ad364e35' या इसके निर्भरता में से एक स्थित विधानसभा की स्पष्ट परिभाषा विधानसभा संदर्भ से मेल नहीं खाती है। (HRESULT से अपवाद: 0x80131040)

मुझे पता नहीं है कि इसके कारण क्या हो रहा है या मैं इसे खोजने के लिए डिबग कैसे कर सकता हूं।

मैंने अपने समाधान कैटलॉग .csproj फ़ाइलों में एक खोज की है, और मेरे पास एकता है जहां मेरे पास है:

संदर्भ में शामिल करें = "Microsoft.Practices.Unity, संस्करण = 2.0.414.0, संस्कृति = तटस्थ, PublicKeyToken = 31bf3856ad364e35, प्रोसेसरआर्चाइटेक्चर = एमएसआईएल"

मेरी किसी भी परियोजना में किसी भी संदर्भ को 1.2.0.0 के मुकाबले कहीं भी नहीं मिल सकता है।

किसी भी विचार को हल करने के बारे में मुझे कैसे जाना चाहिए?

मैं सामान्य तरीके से इस तरह की समस्याओं को डिबग करने के तरीकों की सराहना करता हूं।

Solutions Collecting From Web of "फ़ाइल या असेंबली को लोड नहीं किया जा सका या इसके निर्भरता में से एक"

  1. जांचें कि क्या आप एक विधानसभा को संदर्भित कर रहे हैं जो बदले में एकता के पुराने संस्करण को संदर्भित करता है। उदाहरण के लिए, मान लें कि आपके पास एक विधानसभा है जो ServiceLocator.dll नामक एक यूनिटी असेंबली के पुराने संस्करण की आवश्यकता है, अब जब आप ServiceLocator संदर्भ देते हैं तो आपको इसे यूनिटी के पुराने संस्करण के साथ प्रदान करना चाहिए, और इससे समस्या उत्पन्न होती है

  2. आउटपुट फ़ोल्डर हो सकता है, जहां सभी परियोजनाएं अपने विधानसभाओं का निर्माण करती हैं, एकता का एक पुराना संस्करण है

आप पुराने विधानसभाओं को लोड कर रहे हैं, यह जानने के लिए आप फ्यूज़लॉग वीवीयू का उपयोग कर सकते हैं, बस लॉग के लिए एक पथ को परिभाषित कर सकते हैं, और अपने समाधान को चला सकते हैं, फिर फ्यूसोलोगव में जांच करें, जहां एकता असेंबली भरी हुई है, डबल क्लिक करें और कॉलिंग देखें विधानसभा, और यहाँ तुम जाओ

ओपन आईआईएस प्रबंधक

आवेदन पूल का चयन करें

फिर आप उपयोग कर रहे पूल का चयन करें

उन्नत सेटिंग्स पर जाएं (दाईं ओर)

झंडे को 32-बिट अनुप्रयोग को सक्षम करने का ध्वज बदलें।

मेरे लिए, अन्य समाधानों में से कोई भी काम नहीं हुआ (जिसमें स्वच्छ / पुनर्निर्माण रणनीति भी शामिल है) मुझे एक और समाधान हल मिला जो दृश्य स्टूडियो बंद करना और पुनः खोलना है

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

अपने समाधान में डीबग और रिलीज़ फ़ोल्डर्स को साफ करने का प्रयास करें फिर एक बार फिर से एकता हटा दें और जोड़ें।

माइक्रोसॉफ्ट एंटरप्राइज लाइब्रेरी (नेटटियर्स द्वारा संदर्भित) हमारी समस्या थी, जो बदले में यूनिटी के पुराने संस्करण को संदर्भित करता था। इस समस्या को हल करने के लिए हमने web.config में निम्नलिखित बंधन पुनर्निर्देशन का उपयोग किया है:

 <configuration> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="Microsoft.Practices.Unity" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="1.0.0.0-2.0.414.0" newVersion="2.1.505.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Practices.Unity.Configuration" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="1.0.0.0-2.0.414.0" newVersion="2.1.505.0" /> </dependentAssembly> </assemblyBinding> </runtime> </configuration> 

वैकल्पिक रूप से, आप बस एंटरप्राइज लाइब्रेरी को नवीनतम संस्करण में अपडेट करना चाह सकते हैं।

निम्नलिखित मेरे लिए काम किया

  • अस्थाई फ़ाइलें हटाएं C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ अस्थायी asp.NET फ़ाइलें
  • वीएसटीएस बंद करें और फिर खोलें
  • निकालें और एक ही DLL जोड़ें (नोट: आप समान मिलान संस्करण जोड़ते हैं)

99% पर "फ़ाइल या असेंबली लोड नहीं कर सका या इसकी निर्भरता में से एक" समस्या निर्भरता के कारण होती है !! मेरा सुझाव है कि आप इस चरणों का पालन करें:

1) http://www.dependencywalker.com/ से "निर्भरता वाकर" डाउनलोड करें

2) "निर्भरता वाकर" लॉन्च करें और DLL खोलें (मेरे मामले में "NativeInterfaces.dll")

3) आप लाल में त्रुटि के साथ एक या एक से अधिक डीएलएल देख सकते हैं "त्रुटि फ़ाइल खोलने …"

यहां छवि विवरण दर्ज करें

4) इसका मतलब है कि आपके सिस्टम में यह डीएलएल गायब है; मेरे मामले में डीएलएल का नाम "MSVCR71.DLL" है

5) आप Google से miss dll डाउनलोड कर सकते हैं और सही रास्ते पर कॉपी कर सकते हैं (मेरे मामले में c: \ windows \ system32)

6) इस बिंदु पर, आपको जीएसी (ग्लोबल असेंबली कैश) में नया डीएलएल रजिस्टर करना होगा: एक डॉस टर्मिनल खोलें और लिखें:

 cd \Windows\System32 regsvr32 /i msvcr71.dll 

7) अपने आवेदन को पुनरारंभ करें!

अपने प्रोजेक्ट में App.config फ़ाइल की जांच करें देखें कि क्या संस्करण संख्या सही है

 <bindingRedirect oldVersion="XXXX-XXXX" newVersion="XXXX" /> 

यह मेरे लिए काम किया

मुझे इसी तरह की समस्या थी जूनो जवाब समस्या का समाधान करेगा लेकिन आपको एक महत्वपूर्ण टिप नोट करना चाहिए!

एकता संस्करण 2.1.505.2 में विभिन्न विधानसभाएं और विधानसभाफ़ाइलवर्णन निर्धारित की जाती हैं:

यहां छवि विवरण दर्ज करें

AssemblyFileVersion का उपयोग नूगेट द्वारा किया जाता है, लेकिन सीएलआर विधानसभाफ़ाइलवर्जन के बारे में परवाह नहीं करता है और यह केवल विधानसभा का उपयोग करेगा!

इसलिए संस्करण 2.1.505.2 के पुनर्निर्देशन को विधानसभा में निर्दिष्ट संस्करण के लिए लागू किया जाना चाहिए : 2.1.505.0

 <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <assemblyIdentity name="Microsoft.Practices.Unity" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-2.1.505.0" newVersion="2.1.505.0" /> </dependentAssembly> </assemblyBinding> 

यह भी देखें: विधानसभा विधानसभा, असेंबलीफ़ाइलविरशन और विधानसभाओं के बीच मतभेद क्या हैं?

  • गोटो: समाधान -> पैकेज
  • उन्नत टैब पर क्लिक करें (पृष्ठ के नीचे खोजें)
  • अपने डीएलएल को अतिरिक्त असेंबलियों में जोड़ें (इस तरह हम शेयरपूट में बाहरी डीएलएस जोड़ सकते हैं)

निश्चित नहीं कि ये मदद कर सकता है

जांचें कि विधानसभा का नाम और आपके असेंबलियों में प्रस्तुतियों में डिफ़ॉल्ट नामस्थान मैच। इसने मेरी समस्या का समाधान किया जो कि समान त्रुटि उत्पन्न हुई।

मुझे यह भयानक त्रुटि भी मिली और इसके लिए एक समाधान मिला …

  1. समाधान नाम पर राइट क्लिक करें
  2. क्लीन समाधान क्लिक करें
  3. दृश्य स्टूडियो को पुनरारंभ करें
  4. गोटो परियोजना गुण >> बिल्ड
  5. रिलीज के लिए कॉन्फ़िगरेशन बदलें
  6. डीबग करना आरंभ करें (एफ 5)

1), 2)

समाधान नाम पर राइट क्लिक करें

4), 5)

रिलीज के लिए कॉन्फ़िगरेशन बदलें

आशा है कि इससे आपकी भी मदद मिलेगी

स्क्रीनशॉट समाधान एक्सप्लोरर में प्रोजेक्ट पर सही क्लिक करें (समाधान नहीं), बिल्ड टैब में प्लेटफ़ॉर्म लक्ष्य चुनें: "कोई सीपीयू"

मूल प्रश्न 5 साल पहले पोस्ट किए जाने के बावजूद समस्या अभी भी बनी रहती है और नाराज़ होती है।

सामान्य समाधान सभी संदर्भित विधानसभाओं का गहन विश्लेषण है कि क्या गलत हो रहा है यह समझने के लिए। इस कार्य को आसान बनाने के लिए मैंने एक टूल बना दिया (एक विजुअल स्टूडियो एक्सटेंशन) जो एक। नेट विधानसभा (.डीडीएल या .एक्सए फ़ाइल) को चुनने की अनुमति देता है और हल्की रोशनी वाले या मिट गए संदर्भों के साथ सभी संदर्भित असेंबलियों का एक ग्राफ प्राप्त करता है।

उपकरण विजुअल स्टूडियो गैलरी में उपलब्ध है: https://marketplace.visualstudio.com/vsgallery/051172f3-4b30-4bbc-8da6-d55f70402734

आउटपुट का उदाहरण: यहां छवि विवरण दर्ज करें

आप कहते हैं कि आपके पास आपके समाधान में बहुत सारी परियोजनाएं हैं … ठीक है, बिल्ड ऑर्डर के शीर्ष के निकट एक के साथ शुरू करें इसे बनाने के लिए एक प्राप्त करें और एक बार आप इसे समझ लेते हैं तो आप उन सभी को उसी फिक्स को लागू कर सकते हैं।

ईमानदारी से, आपको शायद अपने संदर्भ को ताज़ा करने की जरूरत है ऐसा लगता है कि आपने अपने संस्करण को अपडेट किया है और संदर्भ को अपडेट नहीं किया है, या यदि आप अपने समाधान को स्रोत नियंत्रण में रखते हैं तो यह एक सापेक्ष पथ समस्या है। बस अपनी मान्यताओं को सत्यापित करें, और संदर्भ को पुनः जोड़ें।

मैं "स्टार्टअप प्रोजेक्ट के रूप में सेट करें" अनलोड / लुप्त लाइब्रेरी / प्रोजेक्ट

फिर इसे तैनात किया

इसने काम कर दिया!

मुझे लगता है कि इसे डेल नहीं मिला क्योंकि यह पहली बार विधानसभा में नहीं था।

बिन फ़ोल्डर में मेरे मामले में यूनिटी। एमवीसी 3 नामक एक गैर संदर्भ डीएलएल था, मैंने सफलता के बिना विजुअल स्टूडियो में किसी भी संदर्भ को खोजने की कोशिश की, इसलिए मेरा समाधान इतना आसान था कि बिन फ़ोल्डर से उस डीएलएल को हटा दें।

यह समस्या मेरे साथ थी, जहां मेरे आश्रित पुस्तकालयों में से एक "किसी भी सीपीयू" के साथ डीएलएल संकलित कर रहा था, जब मूल लाइब्रेरी "x64" के संकलन की अपेक्षा कर रहा था।

आपको अपने आउटपुट फ़ोल्डर से अपने appname.dll फ़ाइल को हटाना होगा। सफाई डीबग और रिलीज़ फ़ोल्डर्स पुन: निर्माण और आउटपुट फ़ोल्डर पुन: उत्पन्न किए गए डीएलएल फाइल को कॉपी करें।

अगर आपको यह त्रुटि संदेश मिल रहा है, तो आपको विंडोज़ एक्सपी पर एक आवेदन खोलने से पहले इसका मतलब है कि आपने पहली बार इसे नेट फ्रेमवर्क 4 और सर्विस पैक 3 के बिना काम नहीं करने के कारण उस ऐप को स्थापित किया है। आप दोनों को फिर से स्थापित किया है और आपको यह त्रुटि मिल रही है ताकि आप को उस ऐप को फिर से इंस्टॉल करना चाहिए, लेकिन पहले जोड़ और हटाने से पहले स्थापना रद्द करनी चाहिए

अगर यह काम नहीं करता तो कृपया मुझे दुरुपयोग न करें मैं भी एक जूनियर हूँ

ठीक है, यह बहुत बेवकूफ लग सकता है, परन्तु यह ध्यान दिलाता है कि मैंने हर दूसरे समाधान की कोशिश करने और इस मूर्खतापूर्ण चीज़ पर एक रात बिताने के बाद इस मुद्दे का हल कैसे किया।

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

तो मैं FTP सर्वर को सभी बिन फ़ोल्डर मिला, मैन्युअल रूप से प्रत्येक फ़ाइल को एक-एक करके बदल दिया। (Ctrl + All नहीं और बदलें .. मैंने कोशिश की: यह काम नहीं कर रहा था।) और किसी तरह यह काम किया …

एक अन्य संभावित कारण: सुनिश्चित करें कि आपने गलती से प्रोजेक्ट गुणों में एक ही विधानसभा नाम दोनों परियोजनाओं को नहीं दिया है।

निम्नलिखित मेरे लिए काम किया

  • अस्थाई फ़ाइलें हटाएं C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ अस्थायी asp.NET फ़ाइलें
    • फिर अस्थायी asp.net फ़ाइलें> गुण> सुरक्षा पर राइट क्लिक करें और आईआईएस तक कुल नियंत्रण पहुंच दें और मेरे प्रोजेक्ट को चलाने वाले सभी उपयोगकर्ता के लिए

एंटरप्राइज लाइब्रेरी 5 का उपयोग करते हुए, .NET 4.0 के लिए मेरा समाधान, के लिए एक संदर्भ जोड़ना था:

Microsoft.Practices.Unity.Interception.dll

धन्यवाद रिधि एम। निम्नलिखित मेरे लिए काम किया।

अस्थायी फ़ाइलें हटाएं C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ अस्थायी ASP.NET फ़ाइलें VSTS बंद करें और फिर खोलें हटाएं और एक ही DLL जोड़ें (नोट: आप समान मिलान संस्करण जोड़ते हैं)

विवादित संदर्भों के लिए देखें एक स्वच्छ और पुनर्निर्माण के बाद भी, परस्पर विरोधी संदर्भ अभी भी एक समस्या का कारण होगा। मेरी समस्या AForge और एकॉर्ड के बीच थी मैंने दोनों संदर्भों को हटा दिया और विशेष संदर्भ (विशेष रूप से मेरे मामले में, केवल समझौते) को फिर से चुनने के संदर्भों को पुनः जोड़ा।

मेरे लिए युनिटी सी के बिना एकता खेल को पुनर्निर्माण के लिए # प्रोएक्ट्स चेकमार्क ने काम किया

मेरे मामले में, प्रस्तावित उत्तर में से कोई भी काम नहीं करता।

यहाँ मेरे लिए क्या काम किया है:

  1. संदर्भ निकालें
  2. DLL का नाम बदलें
  3. संदर्भ को फिर से आयात करें

दूसरा कदम जाहिरा तौर पर महत्वपूर्ण था क्योंकि यह इसके बिना काम नहीं करता था।

जांचने की कोशिश करें कि संदर्भ के लिए "प्रतिलिपि स्थानीय" प्रॉपर्टी सही पर सेट है और विशिष्ट संस्करण को सही पर सेट किया गया है या नहीं यह विज़ुअल स्टूडियो में एप्लिकेशन के लिए प्रासंगिक है I

मुझे यह समस्या थी, गलती वास्तव में बहुत मूर्ख थी। मैंने .dll फ़ाइल के लिए गलत स्थान निर्दिष्ट किया था , स्थान को सही करने के लिए स्थान को बदलने के बाद लोडिंग ठीक से हुआ (उत्तर देकर किसी और को यह गलती नहीं है)।