2012-03-23 13 views
13

मैं पिछले 12 घंटों के लिए असेंबली बाध्यकारी मुद्दे को हल करने की कोशिश कर रहा हूं, जिसमें बहुत भाग्य नहीं है। पिछले हफ्ते, मैंने सभी परियोजनाओं को ईएफ 4.1.0.0 से ईएफ 4.3.1.0 के समाधान में अपग्रेड किया था। मैंने आज सुबह एक परीक्षण परीक्षण परियोजना में कुछ परीक्षण जोड़े, समाधान को साफ और पुन: संकलित किया। सभी परियोजनाओं में कोई चेतावनी या त्रुटियों के साथ संकलित नहीं है।असेंबली बाइंडिंग पुरानी संदर्भ अपवाद

प्रारंभ विधि NutricityPPCTests.Common.DizzleProductExtensionsTests.TestSetup फेंक दिया अपवाद: परियोजना में कहीं भी मेरी इकाई की रूपरेखा कॉल में, मैं निम्नलिखित अपवाद प्राप्त करते हैं। System.IO.FileLoadException: System.IO.FileLoadException: फ़ाइल या असेंबली 'EntityFramework, संस्करण = 4.1.0.0, संस्कृति = तटस्थ, PublicKeyToken = b77a5c561934e089' या निर्भरताओं में से कोई भी लोड नहीं हो सका। स्थित असेंबली की स्पष्ट परिभाषा असेंबली संदर्भ से मेल नहीं खाती है। (HRESULT से अपवाद: 0x80131040)।

मैंने संलयन असेंबली बाध्यकारी लॉग व्यूअर को निकाल दिया, और अपवाद के अनुरूप लॉग प्रविष्टि पाई। मैंने सत्यापित किया है कि मेरी टेस्ट प्रोजेक्ट, एमओएमडीएटी प्रोजेक्ट दोनों सही ईएफ 4.3.1.0 असेंबली का संदर्भ दे रहे हैं। मैंने सत्यापित किया कि परियोजना फ़ाइलों में ईएफ 4.1.0.0 के लिए कोई संदर्भ नहीं थे। मैंने दोनों परियोजनाओं में ओबीजे और बिन निर्देशिकाओं की सामग्री को हटा दिया। परियोजना को कई बार साफ कर दिया गया है और पुनर्निर्मित किया गया है, कि मेरी हार्ड ड्राइव शायद कल बाहर निकलने जा रही है।

*** Assembly Binder Log Entry (3/22/2012 @ 5:55:11 PM) *** 

The operation failed. 
Bind result: hr = 0x80131040. No description available. 

Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll 
Running under executable c:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\QTAgent32.exe 
--- A detailed error log follows. 

=== Pre-bind state information === 
LOG: User = NUTRICITY0\awolske 
LOG: DisplayName = EntityFramework, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 
(Fully-specified) 
LOG: Appbase = file:///C:/Users/awolske/Documents/NutricityWorkspace/Nutricity/NutricityPPCTests/bin/Release 
LOG: Initial PrivatePath = NULL 
LOG: Dynamic Base = NULL 
LOG: Cache Base = NULL 
LOG: AppName = QTAgent32.exe 
Calling assembly : MomData, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null. 
=== 
LOG: This bind starts in default load context. 
LOG: Using application configuration file: C:\Users\awolske\Documents\NutricityWorkspace\Nutricity\NutricityPPCTests\bin\Release\NutricityPPCTests.DLL.config 
LOG: Using host configuration file: 
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config. 
LOG: Post-policy reference: EntityFramework, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 
LOG: GAC Lookup was unsuccessful. 
LOG: Attempting download of new URL file:///C:/Users/awolske/Documents/NutricityWorkspace/Nutricity/NutricityPPCTests/bin/Release/EntityFramework.DLL. 
LOG: Assembly download was successful. Attempting setup of file: C:\Users\awolske\Documents\NutricityWorkspace\Nutricity\NutricityPPCTests\bin\Release\EntityFramework.dll 
LOG: Entering run-from-source setup phase. 
LOG: Assembly Name is: EntityFramework, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 
WRN: Comparing the assembly name resulted in the mismatch: Minor Version 
ERR: The assembly reference did not match the assembly definition found. 
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated. 

मुझे पुरानी संदर्भित असेंबली के लिए और कहां देखना चाहिए?! किसी भी मदद का स्वागत किया जाएगा, और बहुत सराहना की! आपके समय के लिए आपका अग्रिम धन्यवाद!

+0

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

उत्तर

1

मुझे एक ही त्रुटि थी। मेरे समाधान में अधिकांश परियोजनाएं जहां एंटीटी फ्रेमवर्क 4.3.0.0 डीएल का संदर्भ है, लेकिन जब मैंने अपने समाधान में सभी परियोजनाओं के संदर्भों की जांच की, तो मुझे एंटिटी फ्रेमवर्क 4.1.0.0 डीएलएल का संदर्भ देने वाली कुछ परियोजनाएं मिलीं। इकाई फ्रेमवर्क 4.3.0.0 डीएल के नए संदर्भों के साथ उन्हें हटाने और बदलने से समस्या ठीक हो गई।

+0

यहां वही त्रुटि, दुर्भाग्य से - किसी भी अन्य परियोजना में कोई संदर्भ नहीं। – Obiwan007

17

अपने web.config फ़ाइल में निम्न जोड़ें:

<runtime> 
<assemblyBinding> 
     <dependentAssembly> 
      <assemblyIdentity name="EntityFramework" publicKeyToken="b77a5c561934e089" culture="neutral" /> 
      <bindingRedirect oldVersion="0.0.0.0-4.3.1.0" newVersion="4.3.1.0" /> 
     </dependentAssembly> 
    </assemblyBinding> 
</runtime> 
+0

यह मेरी समस्या तय है। –

+0

खुशी मैं मदद कर सकता हूं :) –

+2

यह एक अच्छा जवाब है :) –

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