Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

592
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!