2014-04-24 7 views
9

जब हम पिछले संस्करण nuget के माध्यम से Neo4jClient स्थापित हमने देखा कि Newtonsoft.Json संस्करण 4.5.0.0 एक निर्भरता के रूप में स्थापित किया गया था। हम अन्य पैकेजों का भी उपयोग करते हैं जिन्हें Newtonsoft.Json के संस्करण 6.0.0.0 की आवश्यकता होती है और जब हम उन्हें इंस्टॉल करते हैं तो यह संस्करण 4.5.0.0 ओवरराइड करता है।फ़ाइल या विधानसभा "Newtonsoft.Json.Net" (HRESULT से अपवाद: 0x80131040) लोड नहीं कर सका

हम अपने एप्लिकेशन शुरू जब हम इस त्रुटि मिलती है:

Unhandled Exception: System.ServiceModel.FaultException`1[System.ServiceModel.Ex 
ceptionDetail]: Could not load file or assembly 'Newtonsoft.Json, Version=4.5.0. 
0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. 
The located assembly's manifest definition does not match the assembly referenc 
e. (Exception from HRESULT: 0x80131040) 

हम फिर भी हम इस पाया Neo4jClient को करीब से देख लेने के बाद, हमारे सभी कॉन्फ़िगरेशन को देखा और संस्करण 4.5.0.0 संदर्भित कुछ नहीं मिला।

using ildasm.exe from visual studion tools

यहाँ packages.config

<?xml version="1.0" encoding="utf-8"?> 
<packages> 
    <package id="AzureStorageClient" version="0.0.5.1829" targetFramework="net45" /> 
    <package id="CouchbaseNetClient" version="1.3.4" targetFramework="net45" /> 
    <package id="Elasticsearch.Net" version="1.0.0-beta1" targetFramework="net45" /> 
    <package id="Microsoft.Bcl" version="1.1.8" targetFramework="net45" /> 
    <package id="Microsoft.Bcl.Build" version="1.0.14" targetFramework="net45" /> 
    <package id="Microsoft.Net.Http" version="2.2.20" targetFramework="net45" /> 
    <package id="Neo4jClient" version="1.0.0.652" targetFramework="net45" /> 
    <package id="NEST" version="1.0.0-beta1" targetFramework="net45" /> 
    <package id="Newtonsoft.Json" version="6.0.2" targetFramework="net45" /> 
</packages> 

हम सभी संकुल,, पुनर्स्थापित साफ किया और फिर से बनाया है, लेकिन कोई लाभ नहीं हुआ साथ निकाल दिया है। इस Neo4jClient कि ऐसा करने के लिए या समस्या कहीं और रहता है खड़ी कर रहा है है?

अद्यतन हम क्या कोशिश की है

  1. सभी पैकेज निकाला गया और स्थापित कर रहे
  2. साफ़ किया और फिर से बनाया समाधान विधानसभा अनुप्रेषित
  3. की कोशिश की <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> की तलाश में लेकिन .csproj में नहीं था
+0

क्या यह असेंबली स्वयं ही पाता है? तो असेंबली को इस तरह सेट करने का प्रयास करें: स्थानीय कॉपी करें: सत्य। –

+0

@ Mitulátbáti 'कॉपी लोकल' को डिफॉल्ट –

+1

द्वारा भी 'सत्य' सेट किया गया था, ऑटोगनेर बाइंडिंग रेडियोधर्ड्स डिफ़ॉल्ट रूप से नहीं है, आप इसे केवल csproj फ़ाइल –

उत्तर

11

क्या आपने app.config/web.config के माध्यम से असेंबली संस्करण रीडायरेक्ट करने की कोशिश की है?

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
      <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> 
      <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> 
     </dependentAssembly> 
    </assemblyBinding> 
</runtime> 
+0

हां, मजाकिया बात यह है कि मेरे पास समाधान में दो परियोजनाएं हैं। एक कोड और दूसरा परीक्षण है। परीक्षण एक 'app.config' जोड़ा गया है और मुख्य परियोजना केवल एक' packages.config', जो '' शामिल नहीं है है। –

+0

फिर app.config/web.config फ़ाइल को मैन्युअल रूप से जोड़ने का प्रयास करें और वहां रीडायरेक्ट पेस्ट करें? – ChrFin

+0

हालांकि यह मेरे मामले का उत्तर हो सकता है, यह क्यों नहीं समझाता है? मुझे बाइंडिंग-रीडायरेक्ट वूडू क्यों करने की ज़रूरत है? मैं यह कोशिश करता हूँ अब ... – Mzn

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