2013-10-07 26 views
14

ho bisogno di caricare 2 versioni di assemblaggio Newtonsoft.Json vesion 4.0.8.0 e 4.5.0.0 ora nel mio file di configurazione:Assemblea Conflitto con Newtonsoft.Json

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

ma ho bisogno di essere vecchio 4.0. 8.0 e la nuova 4.5.0.0

<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> 

installo dal Console pacchetto dall'ultima versione ma mi danno errore:

errore 80 Impossibile caricare il file o assembl y 'Newtonsoft.Json, Version = 4.5.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)

+1

ho controllato le informazioni sul rilascio JSON.net NuGet e io non sono in grado di trovare il rilascio 4.5.0.0 http://www.nuget.org/packages/newtonsoft.json/ Inoltre se già hai l'ultima versione della libreria, qual è il tuo bisogno di usare la versione precedente? – Manvik

+5

Perché ricordo che tutto è molto più semplice prima di nuget? –

risposta

31

Ho riscontrato questo problema oggi, ho trovato la soluzione in questo link.

In pratica aggiornare il pacchetto Newtonsoft.Json. E registrare questo assembly nel web.config

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

dove hai preso il pubblicoKeyToken? –

+1

Quando ho provato a creare la mia app, ho ottenuto publicKeyToken nella console dell'elenco degli errori, quindi l'ho copiato, ma questo è un altro modo per ottenerlo http://stackoverflow.com/questions/1710935/how-do-i -find-the-publickeytoken-for-a-particular-dll Se si hanno altri riferimenti nel proprio web.config, si può notare che sono uguali, quindi è possibile copiare il token da un altro assembly. – nramirez

5

Ho avuto lo stesso problema dopo aver installato SignalR nel mio progetto. Prima di tutto ho eseguito l'aggiornamento all'ultima versione di Newtonsoft.Json, quindi aggiungo dependentAssembly al mio web.config. Ma ho dovuto inserire il valore di 6.0.0.0 nella nuova versione, anche se nei miei pacchetti ho dichiarato la versione 6.0.8.

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

Questo ha funzionato per me con la versione 8.0.3. Non funzionava finché non ho cambiato la mia nuova versione in 8.0.0.0. –

Problemi correlati