que estoy recibiendo este error cuando ejecuto mi aplicación (no en tiempo de compilación):¿Cómo encontrar lo que depende de una versión específica de una dependencia específica?
¿No podía cargar el archivo o ensamblado 'Castle.Windsor, Version = 2.1.0.0, Culture = neutral , PublicKeyToken = 407dd0808d44fbdc 'o una de sus dependencias. La definición del manifiesto del conjunto ubicado no coincide con la referencia del ensamblado. (Excepción de HRESULT: 0x80131040)
Mi solución tiene muchos proyectos, utilizando las referencias del proyecto, cuando sea posible, pero algunos de esos proyectos tienen montaje referencias a las dependencias externas.
¿Cómo puedo averiguar fácilmente qué proyecto está buscando esta versión específica de Castle.Windsor.dll
? No tengo esa versión y estoy tratando de usar 2.5.2 (último), así que quiero encontrar el culpable y actualizarlo para usar el último.
Muchas gracias de antemano.
ACTUALIZACIÓN
He añadido un registro de Fusión desinfectada a continuación. Parece que me está diciendo que Caliburn.Castle
requiere Castle.Windsor, Version=2.1.0.0
(lo que sería un error ya que estoy usando 2.5), pero en su lugar Fusion Assembly indaga como encontrar realmente Castle.Windsor, Version=2.5.1.0
.
¿Lo he entendido bien?
=== Pre-bind state information ===
LOG: User = Barney\neil
LOG: DisplayName = Castle.Windsor, Version=2.1.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc
(Fully-specified)
LOG: Appbase = file:///[Debug folder of my exe]
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = [Filename of my exe]
Calling assembly : Caliburn.Castle, Version=1.1.0.0, Culture=neutral, PublicKeyToken=8e5891231f2ed21f.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: [Config file for my exe]
LOG: Using host configuration file:
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Post-policy reference: Castle.Windsor, Version=2.1.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc
LOG: GAC Lookup was unsuccessful.
LOG: Attempting download of new URL file:///[Debug folder of my exe]/Castle.Windsor.DLL.
LOG: Assembly download was successful. Attempting setup of file: [Debug folder of my exe]\Castle.Windsor.dll
LOG: Entering run-from-source setup phase.
LOG: Assembly Name is: Castle.Windsor, Version=2.5.1.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc
WRN: Comparing the assembly name resulted in the mismatch: Minor Version
ERR: The assembly reference did not match the assembly definition found.
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.
Tiene razón, se encuentra una versión más reciente de Castle.Windsor, pero Caliburn.Castle quiere una versión anterior. – Pedro
@Pedro Sí, desde entonces he usado Reflector para mirar Caliburn.Castle.dll, y encontré que requiere 2.1 de Castle.Windsor.dll (a pesar de que reconstruyo desde la fuente). Voy a intentar construir Caliburn.Castle.dll con un Castle actualizado y volver a intentarlo. :) –