¿Cómo puedo activar el registro de enlaces de ensamblaje?

Estoy recibiendo, "No se pudo cargar el archivo o ensamblado 'Bla' o una de sus dependencias. Se intentó cargar un programa con un formato incorrecto."

Una parte de la información detallada dice:

*"WRN: Assembly binding logging is turned OFF. Para habilitar el registro de fallos de enlace de ensamblado, establezca el valor de registro [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) en 1. Nota: El registro de fallos de enlace de ensamblajes tiene una penalización de rendimiento. Para desactivar esta función, elimine el valor del registro [HKLM\Software\Microsoft\Fusion!EnableLog].

Así que, pensando que esto me puede dar alguna idea de por qué estoy recibiendo el error de arriba (tal vez el próximo YSOD contendrá información más explícita sobre exactamente por qué está fallando), navegué a esa ubicación en el registro, pero no hay tal clave que yo pueda ver. Lo que tiene es:

\Fusion 
    (Default)   value not set
    \GACChangeNotification
    \NativeImagesIndex
    \PublisherPolicy

¿Qué me estoy perdiendo?

Solución

Un buen lugar para comenzar su investigación en cualquier fallo de unión es utilizar el "fuslogvw.exe" utilidad. Esto puede darle la información que necesita en relación con el fracaso de unión de modo que usted don't tiene que ir jugando con los valores del registro para activar el registro de unión.

Página MSDN de Fuslogvw

La utilidad debe estar en su carpeta Microsoft SDKs, que sería algo como esto, dependiendo de su sistema operativo: "C:Archivos de programa (x86)"Microsoft SDKs\Windows\v{versión SDK}A\Bin\FUSLOGVW.exe"*.

  1. Ejecutar esta utilidad (que tiene una interfaz gráfica de usuario) y establecer la configuración de "Log fallos de enlace al disco".

  2. Haga clic en "Borrar todo" para borrar la lista de todos los fallos de enlace anteriores.

  3. Reproduzca el fallo de enlace en su aplicación

  4. En la utilidad, haga clic en Actualizar. Debería ver el fallo de enlace registrado en la lista.

  5. Puede ver información sobre el fallo de enlace seleccionándolo en la lista y haciendo clic en "Ver registro"

Lo primero que busco es la ruta en la que la aplicación está buscando el ensamblado. También debes asegurarte de que el número de versión del ensamblado en cuestión es el que esperas.

Comentarios (8)

Si a veces ejecuta distintas versiones de su aplicación, asegúrese de eliminar 'Bla' del directorio bin de la aplicación si la versión en ejecución no la necesita.

Comentarios (0)

Cuando tuve el mismo problema lo solucioné borrando el key.snk existente en ese proyecto y añadiendo una nueva clave.

Comentarios (0)