2014-04-24 23 views
9

Nuget aracılığıyla Neo4jClient'in önceki bir sürümünü yüklediğimizde, Newtonsoft.Json sürüm 4.5.0.0'ın bağımlı olarak kurulduğunu gördük. Ayrıca, Newtonsoft.Json 6.0.0.0 sürümünü gerektiren diğer paketleri de kullanıyoruz ve kurduğumuzda, 4.5.0.0 sürümünü geçersiz kılıyor. Bizim app başlattığınızdaDosya veya montaj yüklenemedi "Newtonsoft.Json.Net" (İstisna: HRESULT: 0x80131040)

bu hatayı alıyorum:

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) 

Ancak bunu bulduk Neo4jClient daha yakından bakmak aldıktan sonra, tüm yapılandırmaları baktı ve sürüm 4.5.0.0 referans hiçbir şey bulunamadı.

using ildasm.exe from visual studion tools

Burada Hepimiz paketleri, yeniden temizlenip yeniden ama boşuna ile kaldırdık 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> 

olduğunu. Bu, Neo4jClient'in buna neden oluyor mu yoksa sorun başka bir yerde mi yaşıyor?

GÜNCELLEME biz

  1. tüm paketleri kaldırıldı ve
  2. Temizlenmiş yüklü yeniden ve yeniden inşa çözeltisini
  3. Montaj
  4. <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> arayan çalıştı yönlendirmek ancak .csproj değildi denedi neler
+0

o montaj kendisi bulur mu? Bu yüzden derlemeyi şöyle ayarlamayı deneyin: Yerel kopyala: true. –

+0

@ Mitulátbáti 'Kopyala Yerel 'varsayılan olarak –

+1

' true 'olarak ayarlandı. AutoGenerateBindingRedirects varsayılan olarak yok, sadece csproj dosyasına ekleyebilirsiniz –

cevap

11

App.config/web.config aracılığıyla derleme sürümü yönlendirmesini denediniz mi?

<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

Evet, komik olan şey, çözümde iki tane projem var. Biri kod ve diğeri testler. Testler bir 'app.config' ekledi ve ana projede '' içermeyen bir 'packages.config' var. –

+0

Ardından, app.config/web.config dosyasını manuel olarak eklemeye ve yönlendirmeyi oraya yapıştırmaya çalışın. – ChrFin

+0

Bu durum benim durumumun bir cevabı olsa da, NEDEN açıklamıyor? Neden bağlayıcı yönlendirme voodoo yapmalıyım? Şimdi deneyeceğim ... – Mzn

İlgili konular