Estoy recibiendo el error
System.IO.FileLoadException : No se ha podido cargar el archivo o ensamblaje 'Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' o una de sus dependencias. El La definición del manifiesto del ensamblaje localizado no coincide con el ensamblaje referencia. (Excepción de HRESULT: 0x80131040)
para mi compilación CI
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>
Tampoco funcionó
**Despliegue de la versión correcta en la máquina CI.
Esto le indica que el cargador de ensamblajes encontró una versión diferente del ensamblaje Newtonsoft.Json
, que no coincide con la referencia que usted creó en su proyecto. Para cargar el ensamblaje correctamente, debe desplegar el ensamblaje junto con su código compilado, o instalar la versión correcta del ensamblaje en la máquina de destino (es decir, en el GAC).
Alternativa: asegúrese de que la configuración está en el archivo correcto
Si quieres mantener la solución actual, y cargar un ensamblaje con una versión diferente, asegúrate de que la configuración que has publicado está en el archivo .config
correcto. Recuerda que no existe xpto.dll.config
, una DLL cargada por una aplicación siempre utiliza el archivo de configuración de la aplicación en ejecución.
En mi caso, después de descargar el ensamblaje y añadir la referencia al proyecto, lo solucioné 'desbloqueando' la DLL antes de añadir la referencia al proyecto.
Usando el explorador de Windows, navega hasta la ubicación de la DLL, haz clic con el botón derecho del ratón sobre la DLL y luego selecciona 'propiedades'. Encontrarás un botón de "desbloqueo" en una de las pestañas y entonces podrás añadir la referencia y el ensamblaje se cargará correctamente.