No se pudo cargar el archivo o el ensamblado o una de sus dependencias
Tengo otro de estos problemas de "No se pudo cargar el archivo o el ensamblado o una de sus dependencias".
Información adicional: No se pudo cargar el archivo o ensamblado 'Microsoft.Practices.Unity, Version=1.2.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)
No tengo idea de qué está causando esto o cómo podría depurarlo para encontrar la causa.
Hice una búsqueda en los archivos .csproj de mis catálogos de soluciones y en todos los lugares donde tengo Unity tengo:
Referencia Include="Microsoft.Practices.Unity, Versión=2.0.414.0, Cultura=neutral, PublicKeyToken=31bf3856ad364e35, arquitectura del procesador=MSIL"
No puedo encontrar ninguna referencia en ningún lugar que vaya en contra de 1.2.0.0 en ninguno de mis proyectos.
¿Alguna idea de cómo debería solucionar esto?
Compruebe si está haciendo referencia a un ensamblaje que a su vez hace referencia a una versión anterior de unity. Por ejemplo, digamos que tiene un ensamblaje llamado
ServiceLocator.dll
que necesita una versión anterior del ensamblaje de Unity, ahora, cuando haga referencia a él,ServiceLocator
debe proporcionarle la versión anterior de Unity, y eso genera el problema.Puede ser la carpeta de salida donde todos los proyectos construyen sus ensamblajes, tiene una versión antigua de unity.
Puede usar FusLogVw para averiguar quién está cargando los ensamblados antiguos, simplemente defina una ruta para el registro y ejecute su solución, luego verifique (en FusLogvw) la primera línea donde está cargado el ensamblado de Unity, haga doble clic en él y vea la llamada. Asamblea, y aquí tienes.
Abrir el Administrador de IIS
Seleccionar grupos de aplicaciones
luego seleccione el grupo que está utilizando
ir a configuración avanzada (en el lado derecho)
Cambie el indicador de Habilitar aplicación de 32 bits falso a verdadero.