2015-09-27 6 views
6

Primo, non è solo duplicato. Nessuna delle risposte delle seguenti domande funziona per me.Impossibile caricare il file o l'assembly 'Newtonsoft.Json' o una delle sue dipendenze

http://goo.gl/tS40cn
http://goo.gl/pH6v2T

Ho appena aggiornato tutti i miei pacchetti usando Responsabile Nuget pacchetto e ho cominciato a ricevere questo errore.

Impossibile caricare il file o l'assembly 'Newtonsoft.Json, Version = 6.0.0.0, Culture = neutral, PublicKeyToken = 30ad4fe6b2a6aeed' o una delle sue dipendenze. La definizione manifest di assembly individuato non corrisponde al riferimento all'assembly. (Eccezione da HRESULT: 0x80131040)

mio pacchetto Config ha:

<package id="Newtonsoft.Json" version="7.0.1" targetFramework="net45" /> 

web.config comprende questo pezzo di codice:

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

Proprietà dal riferimento per Newtonsoft.Json

enter image description here

seguenti In base alle risposte delle domande simili, ho provato:

  • Reinstallazione pacchetto utilizzando Update-Package –reinstall Newtonsoft.Json
  • Rimozione dependentAssembly config da Web.config per Newtonsoft.Json
  • Modifica newVersion-6.0.0.0 e 7.0.0.0 in dependentAssembly. Ciò ha dato origine a un nuovo errore.
  • Ha anche provato Get-Project -All | Add-BindingRedirect. Cambia newVersion per Newtonsoft.Json a 4.5.0.0. Ma il problema rimane irrisolto.

Si prega di aiutarmi a risolvere questo.

+3

hai fatto il contenuto della cartella pulita costruire prima di costruire? Stai prendendo di mira la stessa versione di framework della dll refernced? – ilansch

risposta

0

eseguire questo comando nella console di gestione dei pacchetti:

PM> Install-Package Newtonsoft.Json -Version 6.0.1 
+0

Non ha funzionato. Errore ricevuto 'Pacchetto di installazione: l'aggiornamento di 'Newtonsoft.Json 7.0.1' a 'Newtonsoft.Json 6.0.1' non è riuscito. Impossibile trovare una versione di "Microsoft.AspNet.WebApi.Client" compatibile con "Newtonsoft.Json 6.0.1" – shashwat

0
  1. nella soluzione VS Explorer, rimuovere il riferimento Newtonsoft.Json.
  2. Scaricare i file binari 6.0 al file binari Newtonsoft here
  3. Estrarre i file
  4. aggiungere la libreria Newtonsoft manualmente. Da Visual Studio, fare clic destro di riferimento e selezionare Aggiungi riferimento
  5. Fare clic su Sfoglia
  6. Spostarsi i file estratti sotto Net45 e selezionare Newtonsoft.Json.dll
  7. Se non funziona provare a utilizzare Net40 invece passando attraverso l'intero procedura di nuovo.
0

Run Update-Package Newtonsoft.Json -Reinstall

Dovrebbe rimuovere il riferimento alla versione 4.5, e reinstallare la versione più recente si fa riferimento nella vostra package.config. Sarà anche aggiornare il reindirizzamento vincolante, che dovrebbe quindi essere il seguente:

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

Dal momento che hai detto nel tuo domanda che avete già provato questo, si potrebbe desiderare di prima provare a rimuovere il riferimento esistente manualmente. Potresti anche assicurarti che i file non siano di sola lettura su disco o altrimenti bloccati dal controllo del codice sorgente.

+0

Grazie! Mi sono ricordato, avevo già provato. Ma ci riproverò e aggiorneremo molto presto – shashwat

+0

Ci scusiamo per il ritardo nella risposta. Dopo aver eseguito il comando come suggerito da te, sto ancora ricevendo lo stesso errore. Imposta il reindirizzamento vincolante a ''. Ho provato a cambiare a quello che hai dato ''. Ma ha generato questo errore 'Impossibile caricare file o assembly 'Newtonsoft.Json' o una delle sue dipendenze. La definizione manifest di assembly individuato non corrisponde al riferimento all'assembly. (Eccezione da HRESULT: 0x80131040) '. – shashwat

0

Nel mio caso, il codice seguente era presente nella mia versione di debug locale della soluzione, ma non nella mia versione di codice del server live. Aggiunta del codice al mio file Web.config del server risolto il problema.

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

0

ho avuto questo errore me stesso, e in primo luogo usato Update-Package –reinstall Newtonsoft.Json -IncludePrerelease non ha funzionato, poi utilizzato Install-Package Newtonsoft.Json. ha funzionato.

1

Aggiungi riferimento Newtonsoft nel mio progetto MVC risolve il problema per me.

6

So che questo è vecchio, ma mi sono imbattuto nello stesso problema. Il mio problema era che più progetti nella soluzione utilizzavano Newtonsoft.Json, ma alcuni erano in versioni diverse. Ho aggiornato tutti loro al più recente (9.0.1 mentre scrivo) e il problema è andato via.

In ogni caso ... se qualcuno ancora si occupa di questo, assicurati di aggiornare il pacchetto in OGNI progetto nella soluzione.

HTH

1

Dopo aver provato molto di quanto sopra (e alcuni altri posti), ho disinstallato con il gestore dei pacchetti tutti i seguenti dal progetto colpiti:

Microsoft.AspNet.WebApi 
Microsoft.AspNet.Client 
Microsoft.AspNet.Core 
Microsoft.AspNet.WebHost 
Newtonsoft.Json 

Poi reinstallato Microsoft.AspNet. WebApi, che autoinstallato. Client, .Core, .WebHost, .Json.

0

Cambiare la configurazione come indicato di seguito:

+0