2012-12-14 28 views
5

में विधानसभा संघर्ष हम Newtonsoft.Json को अद्यतन करने के बाद एक असेंबली संघर्ष प्राप्त कर रहे हैं। मुझे समझ में समस्या हो रही है कि त्रुटि में संदर्भित विशिष्ट संस्करण कहां से आ रहा है। Web.config में कुछ भी नहीं है जो एक विशिष्ट संस्करण को इंगित करता है।न्यूटॉन्सॉफ्ट.जेसन

System.IO.FileLoadException: फ़ाइल या विधानसभा 'Newtonsoft.Json, संस्करण = 3.5.0.0, संस्कृति = तटस्थ, PublicKeyToken = 30ad4fe6b2a6aeed' या अपनी निर्भरता से एक लोड नहीं कर सका। असेंबली की स्पष्ट परिभाषा स्थित असेंबली संदर्भ से मेल नहीं खाती है। (HRESULT से अपवाद: 0x80131040)

क्या इस मुद्दे को हल करने के लिए असेंबली कार्य के दो संस्करणों को जीएसी करना होगा?

उत्तर

3

उन्हें गैकिंग करना काम कर सकता है लेकिन यह एक रखरखाव दुःस्वप्न बनाएगा। ऐसा मत करो!

मुझे लगता है कि आप 2 विकल्प हैं:

  1. संस्करण Sitecore के साथ आया था जो Sitecore का कौन सा संस्करण पर आप चल रहे हैं निर्भर करेगा का उपयोग करें।
  2. एक साइटकोर संस्करण को बिना छेड़छाड़ छोड़ दें और न्यूटॉन्सॉफ्ट.जेसन संस्करण को गठबंधन करने के लिए इल्मेज का उपयोग करें जो आपको अपनी असेंबली के साथ चाहिए।

मैं 1 की सलाह देते हैं, अगर आप की तरह पुस्तकालय का सबसे हाल ही सुविधाओं के किसी भी (गतिशीलता आदि ...) Marto के जवाब में

+0

यह विधानसभा संस्करणों रीडायरेक्ट करने के लिए संभव नहीं है? मुझे नहीं पता कि इसका प्रभाव क्या है (यदि कोई है) यह साइटकोर पर होगा ... http://msdn.microsoft.com/en-us/library/7wd6ex19.aspx – jammykam

+0

आप कोशिश कर सकते हैं लेकिन असेंबली के दोनों संस्करणों की आवश्यकता है एक ही सार्वजनिक टोकन है। मुझे यकीन नहीं है कि यह मामला है। इसके अलावा आपको यह भी विचार करना होगा कि साइटकोर को पुराने संस्करण के साथ परीक्षण किया गया है और जेसननेट के नए संस्करणों में बदलाव तोड़ने हैं ताकि आप असेंबली को पुनर्निर्देशित करके @jammykam के रूप में संभावित रूप से कुछ तोड़ सकें। – marto

17

@jammykam commented के रूप में की जरूरत नहीं है तुम विधानसभा अनुप्रेषित कर सकते हैं होगा। मैंने अतीत में न्यूटॉन्सॉफ्ट और साइटकोर के साथ एक समस्या के बिना ऐसा किया है। आप मेरे Sitecore Content as Service code पर एक नज़र डाल सकते हैं जहां मैं इसे काम कर रहा हूं।

आप विशेष रूप से web.config फ़ाइल में इन पंक्तियों में रुचि रखते हैं: https://github.com/HedgehogDevelopment/sitecore-content-service/blob/master/Sitecore/Web/Web.config#L3499

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

यह मेरी दोपहर को बचाया, धन्यवाद! –

+0

धन्यवाद @ शॉन-कीर्नी। आपकी web.config फ़ाइल ने हमें डीएल नरक से बचाया है। – Ben

+0

यह भी स्पष्ट रूप से इस काम के विपरीत भी है, अगर आपको डाउनग्रेड करने की आवश्यकता है जो मेरे मामले में था ... oldVersion = "0.0.0.0-6.0.0.0" newVersion = "4.5.0.0" –