Saltar al contenido

La definición del manifiesto del ensamblado ubicado no coincide con la referencia del ensamblado

Solución:

El cargador de ensamblados .NET:

  • no puede encontrar 1.2.0.203
  • pero encontré un 1.2.0.200

Este ensamblado no coincide con lo solicitado y, por lo tanto, obtiene este error.

En palabras simples, no puede encontrar el ensamblado al que se hizo referencia. Asegúrese de que pueda encontrar el ensamblado correcto colocándolo en el GAC o en la ruta de la aplicación. Consulte también https://docs.microsoft.com/archive/blogs/junfeng/the-located-assemblys-manifest-definition-with-name-xxx-dll-does-not-match-the-assembly-reference.

Puede hacer un par de cosas para solucionar este problema. Primero, use la búsqueda de archivos de Windows para buscar su ensamblaje (.dll) en su disco duro. Una vez que tenga una lista de resultados, seleccione Ver-> Seleccionar detalles … y luego marque “Versión del archivo”. Esto mostrará el número de versión en la lista de resultados, para que pueda ver de dónde podría provenir la versión anterior.

Además, como dijo Lars, verifique su GAC para ver qué versión se enumera allí. Este artículo de Microsoft establece que los ensamblados que se encuentran en el GAC no se copian localmente durante una compilación, por lo que es posible que deba eliminar la versión anterior antes de reconstruir todos. (Consulte mi respuesta a esta pregunta para obtener notas sobre la creación de un archivo por lotes para hacer esto por usted)

Si aún no puede averiguar de dónde proviene la versión anterior, puede usar la aplicación fuslogvw.exe que se incluye con Visual Studio para obtener más información sobre las fallas de enlace. Microsoft tiene información sobre esta herramienta aquí. Tenga en cuenta que tendrá que habilitar el registro configurando el HKEY_LOCAL_MACHINESOFTWAREMicrosoftFusionEnableLog clave de registro a 1.

Yo mismo me encontré con este problema y descubrí que el problema era algo diferente a lo que los demás han encontrado.

Tenía dos archivos DLL a los que hacía referencia mi proyecto principal: CompanyClasses.dll y CompanyControls.dll. Recibía un error en tiempo de ejecución que decía:

No se pudo cargar el archivo o ensamblado ‘CompanyClasses, Version = 1.4.1.0, Culture = neutral, PublicKeyToken = 045746ba8544160c’ o una de sus dependencias. La definición del manifiesto del ensamblado ubicado no coincide con la referencia del ensamblado

El problema era que no tenía ningún archivo CompanyClasses.dll en mi sistema con un número de versión 1.4.1. Ninguno en el GAC, ninguno en las carpetas de aplicaciones … ninguno en ningún lado. Busqué en todo mi disco duro. Todos los archivos CompanyClasses.dll que tenía eran 1.4.2.

Descubrí que el problema real era que CompanyControls.dll hacía referencia a la versión 1.4.1 de CompanyClasses.dll. Acabo de volver a compilar CompanyControls.dll (después de hacer referencia a CompanyClasses.dll 1.4.2) y este error desapareció para mí.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *