Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

595
Vistas
Error: no se pudo cargar el archivo o ensamblado 'Microsoft.Practices.ServiceLocation, Version=1.0.0.0

me sale este error:

No se pudo cargar el archivo o ensamblado 'Microsoft.Practices.ServiceLocation, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' o una de sus dependencias. La definición del manifiesto del ensamblado ubicado no coincide con la referencia del ensamblado. (Excepción de HRESULT: 0x80131040)

¿Cómo resuelvo esto con un enlace de redirección de ensamblaje, si ya tengo otra versión existente de Microsoft.Practices.ServiceLocation en mi proyecto?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Un método es volver a compilar todos los paquetes de NuGet para usar la misma versión de Microsoft.Practices.ServiceLocation . A nivel pragmático, esto simplemente no es práctico: necesitamos un método más fácil.

Un mejor método es usar una redirección de enlace de ensamblado. Esto funciona muy bien, si la interfaz es la misma. Esta solución está probada y comprobada, y se está ejecutando en producción en varias empresas del FTSE .

Así es como se ve la aplicación.config:

 <?xml version="1.0" encoding="utf-8"?> <configuration> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="Microsoft.Practices.ServiceLocation" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-1.2.0.0" newVersion="1.2.0.0" /> </dependentAssembly> </assemblyBinding> </runtime> </configuration>

Ajuste la versión de destino a cualquier versión que ya tenga, que suele ser 1.2.0.0 o 1.3.0.0 .

El PublicKeyToken debe coincidir con el ensamblado de destino. Puedes extraerlo usando el siguiente comando:

 sn.exe -T assembly.dll

Ejemplo:

 C:\test>"C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\x64\sn.exe" -TC:\svn\lib\TargetDll.dll Microsoft (R) .NET Framework Strong Name Utility Version 4.0.30319.17929 Copyright (c) Microsoft Corporation. All rights reserved. Public key token is ac3efa7c033c2bd5 c:\test>

Para conocer otras formas de obtener PublicKeyToken , consulte Obtención de PublicKeyToken de ensamblados .Net .

El PublicKeyToken no cambia con la versión del ensamblado, por ejemplo, es lo mismo si el ensamblado es v1.0.0.0 o v2.0.0.0 .

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda