93 votos

No se pudo cargar el archivo o ensamblado 'Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'

Estoy recibiendo el Error

Sistema.IO.FileLoadException : no se Pudo cargar el archivo o ensamblado 'Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' o una de sus dependencias. El situado definición de manifiesto del ensamblado no coincide con el de la asamblea de referencia. (Excepción de HRESULT: 0x80131040)

para mi CI construir

La solución que he probado

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

También no funciona

101voto

bobah75 Puntos 367

En la Consola del administrador de paquetes ejecutar: Actualización-Paquete –reinstalar Newtonsoft.Json.

ACTUALIZACIÓN

Originalmente publicado esto como un comentario, pero como @OwenBlacker sugirió que voy a poner aquí:

Si usted todavía obtener un error después de hacer esto, entonces lo que funcionó para mí, finalmente, es que he borrado Json.Net s' <dependentAssembly> sección de mi .config archivo. Vuelva a instalar la trae de vuelta si no lo hay, y al parecer usted necesita para eliminar. Hasta habrá una solución normal en el paquete en sí, me temo que este manual paso es una necesidad.

55voto

ZeroDotNet Puntos 117

A toda persona que tenga problemas con Newtonsoft.Json v4.5 versión trate de usar esta web.config o app.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>

13voto

BrunoLM Puntos 26573

Creo que se están apuntando al objetivo equivocado, el cambio a 4.5 en lugar de 6.0

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

Esto debería funcionar.

4voto

declyne Puntos 41

Hemos tenido exactamente el mismo problema que usted menciona. Estamos usando nunit para ejecutar las pruebas a través de CI, y hemos de nunit ejecutar un archivo llamado pruebas.nunit, que describe una lista de prueba de dll accesorios para ejecutar.

Cada dispositivo de prueba tenía su propio archivo de configuración, pero cuando se ejecute a través de las "pruebas.nunit" archivo el enlace redirige parecen ser ignorados. La solución fue agregar el enlace redirige a un nuevo archivo de configuración, "las pruebas.config" que estaba al lado de las "pruebas.nunit de archivo".

3voto

oaamados Puntos 77

Usted debe uptade la web.archivo de configuración en el te server. Cuando nuget instalar NewtonSoft actualización de este archivo, incluyendo este código

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

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by: