2008-09-18 12 views
39

से मेल नहीं खाता स्थित विधानसभा के प्रकट परिभाषा विधानसभा संदर्भHRESULT: 0x80131040: स्थित विधानसभा के प्रकट परिभाषा विधानसभा संदर्भ

इस हो रही है जब Ncover के माध्यम से nunit चल मेल नहीं खाता। कोई उपाय?

+4

आप अधिक आंखों को आकर्षित करने के लिए शीर्षक और प्रश्न को थोड़ा सा पुन: स्थापित करना चाहेंगे। कुछ ऐसा है जैसे "मैं एक्स करने की कोशिश कर रहा हूं और मुझे यह त्रुटि मिल रही है: {त्रुटि विवरण} ... आदि आदि – Mostlyharmless

+3

यह ठीक है, मुझे यह प्रश्न त्रुटि कोड से मिल सकता है। –

+0

एक पुराना धागा, लेकिन एक आम समस्या। कारण मेरे लिए यह था कि किसी कारण से मेरे पास विजुअल स्टूडियो के 2 उदाहरण एक ही समाधान चला रहे थे। दूसरा टास्कबार पर दिखाई नहीं दे रहा था, लेकिन केवल टास्क मैनेजर पर। दोनों बंद हो गए, फिर एक साफ और पुनर्निर्माण काम किया। – Sami

उत्तर

37

यह असेंबली के बीच एक मेल नहीं है: एक असेंबली से संदर्भित एक डीएलएल में एक विधि हस्ताक्षर नहीं है जिसकी अपेक्षा की जाती है।

समाधान साफ़ करें, सब कुछ पुनर्निर्माण करें, और पुनः प्रयास करें।

इसके अलावा, सावधान रहें यदि यह जीएसी में कुछ ऐसा संदर्भ है; यह हो सकता है कि कहीं कुछ गलत संस्करण को इंगित कर रहा हो। सुनिश्चित करें (प्रत्येक संदर्भ की गुणों के माध्यम से) कि सही संस्करण चुना गया है या विशिष्ट संस्करण गलत सेट है।

+6

कोई रास्ता है संकलन समय पर इस तरह की चीज की जांच करने के लिए संकलक को मजबूर करने के लिए? मैं कसम खाता हूं कि यह VS2005 में डिफ़ॉल्ट था। – Maslow

+9

(डाउनवॉटर: क्यों डाउनवोट? कृपया एक टिप्पणी जोड़ें ताकि हम सभी सीख सकें और यदि आवश्यक हो, तो मैं अपडेट कर सकता हूं उत्तर।) –

7

मुझे हाल ही में यह समस्या थी और मैंने प्रश्न में डीएल पर 'depend.exe' चलाया। यह मुझे दिखाता है कि डीएलएल x86 में संकलित किया गया था जबकि कुछ निर्भरता x64 में संकलित की गई थीं।

यदि आपको अभी भी समस्याएं आ रही हैं तो मैं depend.exe का उपयोग करने की अनुशंसा करता हूं।

+4

पर निर्भर करता है। नेट, http://www.netomatix.com/development/DependsNet.aspx मेरी समस्या बेकार थी, मॉड्यूल 1 मॉड्यूल 2 संस्करण 5.0.0.0 लोड करना चाहता था, और मॉड्यूल 2 वास्तविक था ly 5.0.8.3760। निर्भर करता है कि इसे ध्वजांकित नहीं किया गया है, और निर्भर करता है। नेट ने किया। – RenniePet

2

मेरी विशेष स्थिति में, मुझे इसे CreateObject के परिणामस्वरूप वीबीस्क्रिप्ट में किया गया। मेरे मामले में कारण जीएसी में रहने वाली असेंबली का एक संस्करण था, जो कि मैंने संकलित किया था उससे बड़ा था। (पहले की समस्या को हल करने की कोशिश कर रहा हूं, मैंने जीएसी में असेंबली स्थापित की है)।

तो, यदि आप COM दृश्यमान कक्षाओं के साथ काम कर रहे हैं, तो सुनिश्चित करें कि आप RegasM के साथ अपनी नई असेंबली पंजीकृत करने से पहले, अपने असेंबली के पुराने संस्करणों को जीएसी से हटा दें।

-2

आप दृश्य स्टूडियो में कोई घटक जोड़ने की कोशिश कर रहा यह त्रुटि आई हैं, - Microsoft.VisualStudio.TemplateWizardInterface - इस समाधान

पर विचार (larocha (धन्यवाद के सौजन्य से, आप जो कोई भी कर रहे हैं)) (अजीब विकास उपकरण स्थापित करने के लिए कोशिश कर के बाद):

  1. ओपन C: \ Program Files \ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ devenv.exe.config किसी पाठ संपादक में
  2. इस स्ट्रिंग खोजें: "Microsoft.VisualStudio.TemplateWizardInterfac ई"
  3. टिप्पणी बाहर तत्व तो यह ली दिखता है ke इस:

<dependentAssembly>
<!-- assemblyIdentity name="Microsoft.VisualStudio.TemplateWizardInterface" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/-->
<bindingRedirect oldVersion="0.0.0.0-8.9.9.9" newVersion="9.0.0.0" />
</dependentAssembly>

स्रोत: http://webclientguidance.codeplex.com/workitem/15444

5

यह आमतौर पर तब होता है जब परीक्षण वातावरण की DLLs में से एक के संस्करण विकास के वातावरण से मेल नहीं खाता।

स्वच्छ और अपने समाधान निर्माण और जहां त्रुटि हो रहा है अपने सभी पर्यावरण के लिए DLLs ले कि यह

5

एक WCF बाकी सेवाओं परियोजना के लिए मेरे मामले में ठीक करना चाहिए मैं web.config में जोड़ने के लिए किया था एक क्रम अनुभाग जहां अनुरोध किया dll वहाँ था, तो मैं जोड़ें:

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="DotNetOpenAuth.Core" publicKeyToken="2780ccd10d57b246" /> 
     <bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" /> 
     </dependentAssembly> 
. 
. 
. 
    <runtime> 
2

मैं जब किसी साझा फ़ोल्डर के माध्यम से अलग कंप्यूटरों से परियोजना फ़ाइलों तक पहुँचने इसी तरह की समस्याओं का सामना किया।मेरे मामले में साफ + reabuild मदद नहीं की थी। आउटपुट निर्देशिका से बिन और ऑब्जेक्ट फ़ोल्डरों को हटाना पड़ा।

1

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

<dependentAssembly> 
    <assemblyIdentity name="WebGrease" culture="neutral" publicKeyToken="31bf3856ad364e35" /> 
    <bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" /> 
</dependentAssembly> 

कृपया ध्यान दें कि मेरा समाधान केवल तभी काम करेगा जब त्रुटि WebGrease से संबंधित हो। त्रुटि कोड वही रहेगा। इसके अलावा, आपको संस्करण को पुराने संस्करण और नए संस्करण में बदलना होगा।

0

मैं इस समस्या में एक वेब एपीआई परियोजना में भाग गया।

एपीआई परियोजना संस्करण 3. और संदर्भित विधानसभाओं में से एक के साथ एक पुस्तकालय की एक nuget पैकेज का उपयोग किया गया था कहते हैं कि एक्स संस्करण के साथ एक ही nuget पैकेज के पुराने संस्करण का उपयोग किया गया था 2.

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

काम पुनर्निर्माण लेकिन मेरे मामले में मैं एक दीर्घकालिक समाधान चाहता था।

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

0

बस एक और मामला। मुझे पहली बार प्रबंधित डीबगिंग सहायक से यह त्रुटि मिली थी कि पहली बार VS2010/.NET 4 के अंतर्गत ऑब्जेक्ट्स में XML फ़ाइल को deserializing। ऑब्जेक्ट्स के लिए कक्षाओं वाला एक डीएलएल पोस्ट-बिल्ड इवेंट (सामान्य माइक्रोसॉफ्ट स्टाइल स्टफ) में उत्पन्न होता है। एक ही समाधान में कई परियोजनाओं के लिए बहुत अच्छी तरह से काम किया, एक और परियोजनाओं में ऐसा करते समय समस्या दिखाई दी। त्रुटि पाठ:

BindingFailure was detected Message: The assembly with display name MyProjectName.XmlSerializers' failed to load in the 'LoadFrom' binding context of the AppDomain with ID 1. The cause of the failure was: System.IO.FileLoadException: Could not load file or assembly MyProjectName.XmlSerializers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

के बाद से यहां कुछ उत्तर एक मंच बेमेल का सुझाव दिया, मैंने देखा है कि 3 परियोजनाओं और समाधान था "मिश्रित प्लेटफार्मों" विन्यास का चयन किया है, और 3 परियोजनाओं के बजाय 86 AnyCPU के लिए संकलित किया गया। मेरे पास कोई प्लेटफार्म-विशिष्ट कोड नहीं है (हालांकि कुछ विक्रेता-प्रदान किए गए डीएलएल कुछ x86 पुस्तकालयों पर भरोसा करते हैं)। मैं इस के साथ AnyCPU में 86 की सभी घटनाओं की जगह:

for a in $(egrep '(x86|AnyCPU)' */*.csproj *.sln -l ) ; do echo $a ; sed -i 's/x86/AnyCPU/' $a ; done 

तो परियोजना का निर्माण होगा लेकिन सभी विकल्प को चलाने के लिए या डिबग कोड सलेटी रंग के हो जाएगा। वीएस को पुनरारंभ करना मदद नहीं करेगा।

मैंने गिट के साथ x86-पुस्तकालय के संदर्भों को वापस कर दिया, बस मामले में, लेकिन संकलित सभी कोड के लिए AnyCPU रखा।

F5 or Start Debugging Button is Greyed Out for Winform application? के बाद मैं उतार दिया और प्रारंभिक परियोजना (यह भी एक जहाँ प्रारंभिक समस्या पहली जगह में दिखाई दिया था) पुनः लोड।

उसके बाद, सबकुछ वापस आ गया: कार्यक्रम प्रारंभिक त्रुटि के बिना काम करता है।

http://www.catb.org/jargon/html/R/rain-dance.html, http://www.catb.org/jargon/html/V/voodoo-programming.html या http://www.catb.org/jargon/html/I/incantation.html और वहां लिंक देखें।

3

मेरे समस्याओं से हल सब क्रम हिस्सा

<runtime> 
     <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
      <dependentAssembly> 
       <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/> 
       <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/> 
      </dependentAssembly> 
      <dependentAssembly> 
       <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35"/> 
       <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/> 
      </dependentAssembly> 
     </assemblyBinding> 
    </runtime> 
0

मैं इस मुद्दे जहां यह पेपैल विधानसभा नहीं मिल रहा होता था और क्योंकि मैं अपने समाधान पेपैल नाम दिया था यह था हटा दें।मुझे यकीन है कि यह किसी के लिए जवाब नहीं होगा, लेकिन सोचा कि मैं इसे किसी भी तरह से साझा करूंगा: C# ASP.NET MVC PayPal not finding assembly

0

मैं बस परियोजना से सेटिंग्स.lic फ़ाइल हटाता हूं और काम करना शुरू करता हूं!

3

मेरे मामले में मैं जबकि डिबगिंग इस संदेश मिला:

"Error while calling service <ServiceName> Could not load file or assembly 'RestSharp, 
Version=105.2.3.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. 
The located assembly's manifest definition does not match the assembly reference. 
(Exception from HRESULT: 0x80131040)" 

कारण

अपने प्रोजेक्ट में मैं 2 आंतरिक RestSharp लेकिन दोनों घटक का उपयोग घटकों पड़ा है RestSharp के विभिन्न संस्करण है (एक संस्करण 105.2.3.0 और दूसरा संस्करण 106.2.1.0 के साथ)।

समाधान

या तो नए के घटकों में से एक उन्नयन या अन्य डाउनग्रेड करें। मेरे मामले में 106.2.1.0 से 105.2.3.0 से डाउनग्रेड करना और NuGet पैकेज प्रबंधक में घटक को अपडेट करने के लिए मेरे लिए सुरक्षित था। तो दोनों घटकों का एक ही संस्करण है।

पुनर्निर्माण और यह समस्याओं के साथ काम किया।

0

यह तब हुआ जब मैंने सभी संदर्भित डीएलएस अपडेट किए बिना web.config को अपडेट किया।

उचित diff फ़िल्टर का उपयोग करना (मेल्ड की डिफ़ॉल्ट निर्देशिका से सावधान रहें बाइनरी को अनदेखा करने वाले फ़िल्टर की तुलना करें) अंतर की पहचान की गई थी, फाइलों की प्रतिलिपि बनाई गई थी और सबकुछ ठीक काम करता था।

संबंधित मुद्दे