Fuslogvw ¿como encontrar una referencia perdida?

17 10 2007

Fusion es basicamente la tecnología utilizada en .NET para cargar los ensamblados en memoria. Es Fusion quien no encuentra nuestras referencias perdidas, y quien escribe un log que nos sirve para averiguar el porqué de un problema de este tipo.

Hay muchas circunstancias en las que podemos tener problemas para encontrar un ensamblado: versionado de assemblies, referencias desactualizadas, proyectos que se movieron, deployment, etc.

Cuando no encuentra un ensamblado, .NET (Fusion en particular) registra en un log las ubicaciones en donde Fusion lo buscó.

fuslogvw

La interfase es muy sencilla y una vez que encontramos el error que buscamos accedemos a un log similar a este:

*** Assembly Binder Log Entry  (17/10/2007 @ 12:15:31 a.m.) ***

The operation failed.
Bind result: hr = 0x80070002. The system cannot find the file specified.

Assembly manager loaded from:  C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll
Running under executable  C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.exe
--- A detailed error log follows. 

=== Pre-bind state information ===
LOG: User = GS\Ale
LOG: DisplayName = Microsoft.Practices.EnterpriseLibrary.Configuration.Design.VisualStudioIntegration, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 (Fully-specified)
LOG: Appbase = file:///C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = NULL
Calling assembly : System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.exe.Config
LOG: Using machine configuration file from C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config.
LOG: Post-policy reference: Microsoft.Practices.EnterpriseLibrary.Configuration.Design.VisualStudioIntegration, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
LOG: GAC Lookup was unsuccessful.
LOG: Attempting download of new URL file:///C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/Microsoft.Practices.EnterpriseLibrary.Configuration.Design.VisualStudioIntegration.DLL.
LOG: Attempting download of new URL file:///C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/Microsoft.Practices.EnterpriseLibrary.Configuration.Design.VisualStudioIntegration/Microsoft.Practices.EnterpriseLibrary.Configuration.Design.VisualStudioIntegration.DLL.
LOG: Attempting download of new URL file:///C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/PublicAssemblies/Microsoft.Practices.EnterpriseLibrary.Configuration.Design.VisualStudioIntegration.DLL.
LOG: Attempting download of new URL file:///C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/PublicAssemblies/Microsoft.Practices.EnterpriseLibrary.Configuration.Design.VisualStudioIntegration/Microsoft.Practices.EnterpriseLibrary.Configuration.Design.VisualStudioIntegration.DLL.
LOG: Attempting download of new URL file:///C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/PrivateAssemblies/Microsoft.Practices.EnterpriseLibrary.Configuration.Design.VisualStudioIntegration.DLL.
LOG: Attempting download of new URL file:///C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/PrivateAssemblies/Microsoft.Practices.EnterpriseLibrary.Configuration.Design.VisualStudioIntegration/Microsoft.Practices.EnterpriseLibrary.Configuration.Design.VisualStudioIntegration.DLL.
LOG: Attempting download of new URL file:///C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/Microsoft.Practices.EnterpriseLibrary.Configuration.Design.VisualStudioIntegration.EXE.
LOG: Attempting download of new URL file:///C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/Microsoft.Practices.EnterpriseLibrary.Configuration.Design.VisualStudioIntegration/Microsoft.Practices.EnterpriseLibrary.Configuration.Design.VisualStudioIntegration.EXE.
LOG: Attempting download of new URL file:///C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/PublicAssemblies/Microsoft.Practices.EnterpriseLibrary.Configuration.Design.VisualStudioIntegration.EXE.
LOG: Attempting download of new URL file:///C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/PublicAssemblies/Microsoft.Practices.EnterpriseLibrary.Configuration.Design.VisualStudioIntegration/Microsoft.Practices.EnterpriseLibrary.Configuration.Design.VisualStudioIntegration.EXE.
LOG: Attempting download of new URL file:///C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/PrivateAssemblies/Microsoft.Practices.EnterpriseLibrary.Configuration.Design.VisualStudioIntegration.EXE.
LOG: Attempting download of new URL file:///C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/PrivateAssemblies/Microsoft.Practices.EnterpriseLibrary.Configuration.Design.VisualStudioIntegration/Microsoft.Practices.EnterpriseLibrary.Configuration.Design.VisualStudioIntegration.EXE.
LOG: All probing URLs attempted and failed.

En el, observamos lo datos del assembly que no logró bindear y las ubicaciones desde donde se intentó cargarlo.

Algunas cositas para tener en cuenta:

  • El log se guarda por defecto en el directorio de archivos temporales de Internet Explorer, si no se quieren perder datos se puede cambiar la ubicación desde la interfase.
  • También se puede configurar si se quieren ver solo los ensamblados con errores o todos los ensamblados bindeados. Esto puede ser muy útil si queremos controlar las referencias incluidas en nuestro proyecto, asegurandonos que no estamos levantando nada del lugar equivocado.
  • Previamente a la versión 2.0 del framework, fuslogvw.exe se configura mediante el registro de windows.

En esta página, un trabajo muy completo sobre Fusion, con mucha información de la GAC, Strong Name Key, etc. Incluyendo por supuesto fuslogvw.

Saludos

Anuncios

Acciones

Information

2 responses

18 06 2013
raspberry ketones dr oz recommended

Quality articles or reviews is the main to be a focus for the visitors to pay a visit the site, that’s what this website is providing.

20 06 2013
build your own website

Hello there! Quick question that’s entirely off topic. Do you know how to make your site mobile friendly? My blog looks weird when browsing from my iphone. I’m trying
to find a template or plugin that might be able to fix this problem.
If you have any suggestions, please share. Many thanks!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s




A %d blogueros les gusta esto: