2013-05-07 12 views
11

तीसरे पक्ष विधानसभाओं पर हस्ताक्षर करने और उन्हें GAC में जोड़ने से मैं नीचे त्रुटि हो रही है के बाद: भी विधानसभा बाइंडर लॉग प्रविष्टि से पता चलता this errorस्थित असेंबली की स्पष्ट परिभाषा असेंबली संदर्भ से मेल नहीं खाती है। (HRESULT से अपवाद: 0x80131040)

इसमें कहा गया है यकीन नहीं mismatching विधानसभाओं कैसे mistnaching के रूप में मैं नष्ट कर दिया सभी ओबीजे और बिन फोल्ड और बैच ने एप्लिकेशन बनाया + डीएलएस को दोबारा आयात किया।

Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll 
Running under executable C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\11.0\WebDev.WebServer40.exe 

--- A detailed error log follows. 
=== Pre-bind state information === 
LOG: User = AKBARCA\user 

LOG: DisplayName = ClubStarterKit.Core, Version=3.0.1.0, Culture=neutral, PublicKeyToken=null 
(Fully-specified) 

LOG: Appbase = 

file:///C:/Users/user/Desktop/NhibernateMediumTrust/NhibernateMediumUpgrade/direct/clubstar 

terkit v3 preview/ClubStarterKit.Web/ 

LOG: DEVPATH = C:\ProgramData\Red Gate\.NET Reflector\DevPath 

LOG: Initial PrivatePath = 

C:\Users\user\Desktop\NhibernateMediumTrust\NhibernateMediumUpgrade\direct\clubstarterkit v3 preview\ClubStarterKit.Web\bin 
Calling assembly : ClubStarterKit.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null. 

उत्तर

29

मेरे अनुभव से, ऐसा होता है, आमतौर पर, जब आप अपना ऐप प्रकाशित कर लेते हैं और जब आपके पास नाटक पैकेज के विभिन्न संस्करण होते हैं। यदि यह आपकी स्थिति भी होती है, तो मुझे इसे ठीक करने का सबसे अच्छा तरीका समाधान (व्यक्तिगत प्रोजेक्ट नहीं) पर राइट-क्लिक करना है और "Nuget पैकेज प्रबंधित करें" चुनें। फिर, स्थापित संकुल में अपमानजनक असेंबली का पता लगाएं। आप शायद इसे कई बार सूचीबद्ध देखेंगे। पैकेज के पुराने संस्करणों में से प्रत्येक पर "प्रबंधित करें" पर क्लिक करें और अपनी सभी परियोजनाओं को अनचेक करें। एक बार पैकेज का नवीनतम संस्करण सूची में ही रहता है। इस पर "प्रबंधित करें" पर क्लिक करें और पैकेज की आवश्यकता वाले किसी भी प्रोजेक्ट को फिर से जांचें। यह अनिवार्य रूप से पैकेज के उसी संस्करण का उपयोग करने के लिए उन्हें अपग्रेड करेगा और आपकी मेलबैक त्रुटि को हल करना चाहिए।

+0

"स्थापित संकुल में अपमानजनक असेंबली का पता लगाएं" कोई असेंबली या पैकेज सूचीबद्ध नहीं है या Nuget संकुल प्रबंधित करने में स्थापित है। यह केवल Jquery, Entityframwork.etc को स्थापित करने का विकल्प दे रहा है .. –

+0

आपने बाईं ओर दिए गए "इंस्टॉल किए गए" लिंक पर क्लिक किया है, है ना? क्या आपके पास सूची के नीचे पृष्ठ संख्याएं हैं? –

+1

ये त्रुटियां आपके प्रश्न में पोस्ट की गई किसी भी चीज़ से बिल्कुल अलग हैं। उन * शाब्दिक * मतलब है कि आपकी परियोजना उस असेंबली को याद कर रही है। बस संदर्भ जोड़ें और आप अच्छे हैं। –

5

मुझे इसी तरह की समस्या का सामना करना पड़ा। मेरे मामले में, मेरे समाधान में कई परियोजनाएं थीं।

प्रोजेक्ट में से एक EntityFramework 4.0 का जिक्र कर रहा था और उस परियोजना को किसी अन्य प्रोजेक्ट में संदर्भित किया जा रहा था जो EntityFramework 5.0 का जिक्र कर रहा था। मैं उन्हें सिंक में लाया और समस्या दूर हो गई।

1

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

3

हम ... मुझे एक ही त्रुटि संदेश के समान कुछ सामना करना पड़ा।

मेरे मामले में मैंने मैन्युअल रूप से असेंबली का संस्करण अपडेट किया है।

The error message

संदर्भित विधानसभा मैं एक और संस्करण था में ...

तो, मैं इसे web.config में अपडेट किया गया।

Properies of the DLL

यह मेरी समस्या हल।

आपका === Pre-bind state information === अपूर्ण लगता है। आम तौर पर यह निष्पादन दिखाता है और अंतिम पंक्ति त्रुटि दिखाती है, इसलिए, हम केवल अपने अनुभव साझा करने में मदद कर सकते हैं। उदाहरण: Last line of the LOG info

मुझे आशा है कि किसी और को इस समस्या इस उपयोगी पाते सामना करना पड़ रहा।

2

मेरे मामले में, त्रुटि तब होती है जब निर्भर असेंबली के वेब.कॉन्फिग के <bindingRedirect> में निर्दिष्ट संस्करण (उदा। न्यूटॉन्सॉफ्ट.जेसन) वास्तव में बिन फ़ोल्डर में मौजूद संस्करण से मेल नहीं खाता है। एक बार web.config में संस्करण संख्या अद्यतन हो जाने पर, समस्या ठीक हो जाती है।

_jsonConfig = fastJSON.JSON.ToObject<jsonConfig>(jsonConfigFileContents);

यह इस लाइन पर विफल हुआ::

screenshot of web.config

0

मैं FASTjson का उपयोग कर यह त्रुटि आई

Type t = Type.GetType(typename);

कौन सा एसवाई में एक अपवाद का कारण बनता है stem.RuntimeTypeHandle.GetTypeByName


समस्या JSON ऑब्जेक्ट मॉडल की तुलना में JSON फ़ाइल में एक फर्क था।

समाधान है को दर्ज करने के लिए फिर से बचाने के JSON ऑब्जेक्ट मॉडल, जैसे: हल करने के लिए हो सकता है इस

string jsonSettings = fastJSON.JSON.ToJSON(JSONObjectModel); 
File.WriteAllText(JSONFilePath, jsonSettings); 
0

एक तरह से, "समाधान के लिए NuGet संकुल प्रबंधित करें" के तहत जा रहा राइट क्लिक करके समाधान एक्सप्लोरर में। एक बार वहां, पर जाएं "समेकित करें" और समस्या का कारण बनने वाले पैकेज को ढूंढें। सुनिश्चित करें कि समाधान के भीतर सभी परियोजनाएं एक ही संस्करण का उपयोग कर रही हैं।

enter image description here

0

मैं एक अलग कारण था: मेरे मामले में, मैं विभिन्न nuget पैकेज संस्करण पहले से इस्तेमाल किया था, और मैं एक app.config जो किसी कारण से स्वचालित रूप से सामग्री के इस प्रकार के साथ उत्पन्न किया गया था था:

<dependentAssembly> 
    <assemblyIdentity name="Microsoft.Extensions.DependencyInjection" publicKeyToken="adb9793829ddae60" culture="neutral" /> 
    <bindingRedirect oldVersion="0.0.0.0-1.1.1.0" newVersion="1.1.1.0" /> 
    </dependentAssembly> 

तो मेरे पास केवल संस्करण 1.1.0.0 स्थापित था, लेकिन इस रीडायरेक्ट निर्देश के कारण, यह 1.1.1.0 की तलाश में था, भले ही विजुअल स्टूडियो को 1.1.0.0 इंस्टॉल किया गया हो। नए संस्करण को 1.1.0.0 में बदलकर सबकुछ बदलना:

<dependentAssembly> 
    <assemblyIdentity name="Microsoft.Extensions.DependencyInjection" publicKeyToken="adb9793829ddae60" culture="neutral" /> 
    <bindingRedirect oldVersion="0.0.0.0-1.1.1.0" newVersion="1.1.0.0" /> 
    </dependentAssembly> 
संबंधित मुद्दे